Ch (bilgisayar programlama) - Ch (computer programming)

Ch C / C ++ yorumlayıcı
Orijinal yazar (lar)Harry H. Cheng
Geliştirici (ler)SoftIntegration, Inc.
İlk sürüm1 Ekim 2001; 19 yıl önce (2001-10-01)
Kararlı sürüm
8.0.0 / 19 Kasım 2017; 3 yıl once (2017-11-19)
YazılmışC
İşletim sistemipencereler, OS X, Linux, AIX, HP-UX, Solaris (SPARC ve x86), QNX, FreeBSD
Platformx86, SPARC
Uyguningilizce
TürEntegre geliştirme ortamı
LisansTescilli yazılım
Standart Sürüm: ücretsiz yazılım
Öğrenci baskısı: ücretsiz yazılım Öğrenciler için
Profesyonel sürüm: deneme yazılımı 30 gün boyunca
İnternet sitesiwww.softintegration.com

Ch /ˌsbenˈ/ tescilli çapraz platform C ve C ++ çevirmen ve başlangıçta Harry H.Cheng tarafından yeni başlayanların matematik, bilgi işlem, Sayısal analiz (sayısal yöntemler) ve C / C ++ 'da programlama. Ch artık SoftIntegration, Inc. tarafından geliştirilip pazarlanmaktadır. Öğrenci baskısı ücretsiz olarak temin edilebilir. Raspberry Pi için Ch Professional Edition ticari olmayan kullanım için ücretsizdir.

Ch, C / C ++ uygulama programlarına gömülebilir. Sayısal hesaplama ve grafiksel çizim özelliklerine sahiptir. Ch, birleşik bir kabuk ve IDE'dir.[1] Ch kabuğu, ortak kabuk ve C dilinin özelliklerini birleştirir.[2] ChIDE, hızlı kod navigasyonu ve sembolik hata ayıklama sağlar. Gömülü Ch, Scite ve Scintilla'ya dayanmaktadır.[3][4]

Ch, C ile yazılır ve çalışır pencereler, Linux, Mac os işletim sistemi, FreeBSD, AIX, Solaris, QNX, ve HP-UX. C90 ve başlıca C99 özelliklerini destekler, ancak C ++ özelliklerinin tamamını desteklemez. C99 karmaşık sayı, IEEE-754 kayan nokta aritmetiği ve değişken uzunluklu dizi özellikler, kanalın bir parçası olmadan önce C99 standart.[5][6][7][8] Tarafından yayınlanan bir makale Bilgisayar Bayi Haberleri (CRN ) Ch, işlevselliği ve üçüncü taraf kitaplıklarının kullanılabilirliği nedeniyle C tabanlı sanal makineler arasında dikkate değer olarak adlandırıldı.[9]

Ch, işlevlerini genişleten birçok araç setine sahiptir. Örneğin, Ch Mekanizma Araç Seti, dört çubuklu bağlantı, beş çubuklu bağlantı, altı çubuklu bağlantı, krank kaydırıcı mekanizması ve kam izleyici sistemi gibi yaygın olarak kullanılan mekanizmaların tasarımı ve analizi için kullanılır.[10] Ch Control System Toolkit, sürekli zamanlı veya ayrık zamanlı doğrusal zamanla değişmeyen (LTI) kontrol sistemlerinin modellemesi, tasarımı ve analizi için kullanılır.[11] Her iki araç seti de kaynak kodunu içerir.

Ch artık birçok lise ve üniversite tarafından C / C ++ 'da bilgi işlem ve programlamayı öğretmek için müfredata entegre ediliyor.[12][13][14][15][16][17][18] Ch, robotik ile bilgi işlem, bilim, teknoloji, mühendislik ve matematiği (C-STEM) öğrenmek için bir platform olan ücretsiz C-STEM Studio'ya entegre edildi. C-STEM Studio, UC Davis Center for Integrated Computing and STEM Education (C-STEM) tarafından geliştirilmiştir. K-12 öğrencileri için müfredatı sunar.

Ch, robot programlama ve öğrenme için LEGO Mindstorms NXT ve EV3, Arduino, Linkbot, Finch Robot, RoboTalk ve Raspberry Pi, Pi Zero ve ARM'yi destekler.[19][20][21] Ayrıca, LabVIEW sistem tasarımı platformu ve geliştirme ortamı.[22]

Özellikleri

Ch, 1999 ISO C Standardı (C99) ve C ++ sınıflarını destekler. C ++ sınıflarıyla C'nin bir üst kümesidir. Karmaşık sayılar, değişken uzunluklu diziler (VLA'lar), IEEE-754 kayan nokta aritmetiği ve genel matematiksel işlevler gibi C99'un birkaç ana özelliği desteklenir. C90 için Ek 1'deki geniş karakter özellikleri de desteklenmektedir.

Ch'de bulunan C ++ özellikleri şunları içerir:

  • Üye fonksiyonları
  • Karışık kod ve beyan
  • bu -> işaretçi
  • Referans türü ve referansla geçiş
  • İşlev stili tür dönüştürme
  • Sınıflar
  • Sınıflarda özel / genel veriler ve işlevler. Ch, C ++ ile uyumludur, çünkü varsayılan olarak, bir sınıf tanımının üyelerinin bir 'public' bildirimi verilene kadar özel olduğu varsayılır.
  • Sınıf / yapı / birliğin statik üyesi
  • Sabit üye işlevleri
  • Yeni ve silme operatörleri
  • Yapıcılar ve yıkıcılar
  • Polimorfik fonksiyonlar
  • Kapsam çözümleme operatörü:
  • Endl ile I / O işlevleri cout, cerr ve cin
  • Için argümanlar değişken işlevler isteğe bağlıdır

Ch, aşağıdakiler dahil ek yeteneklerle C ++ sınıflarını destekler:

  • Üye işlevler içindeki sınıflar
  • Sınıflarla iç içe geçmiş işlevler
  • Üye işlevini işlevlerin işaretçi türünün bağımsız değişkenine geçirme

Ch, mevcut C / C ++ kitaplıklarıyla etkileşime girebilir ve Ch betiğinden C / C ++ işlevlerini çağırabilir.[23]Bir C / C ++ yorumlayıcısı olarak Ch, uygulamalar için komut dosyası motoru ve uzantı dili olarak kullanılabilir. Dizilere veya değişkenlere işaretçiler hem C-derlenmiş hem de Ch betikleme bağlamlarında iletilebilir ve paylaşılabilir. Gömülü bir Ch komut dosyası oluşturma uygulamasına bir örnek, dağıtılmış örgü modelinin işbirliğine dayalı görselleştirilmesi için kullanılan Mobile-C'dir.[24][25][26]

Ch, otomatik bellek ayırma ve ayırma için yerleşik bir dizi türüne (string_t) sahiptir. Kabuk takma adlarını, geçmişini, borulamayı vb. Destekler.[27][28]

Ch, yerleşik 2D / 3D grafik çizim özelliklerine ve hesaplama özelliklerine sahiptir diziler sayısal hesaplama için. 2D Doğrusal Denklem şeklinde b = A * x Ch de harfi harfine yazılabilir.[29]

Ayrıca bakınız

Referanslar

  1. ^ Veeraraghavan, Sriranga (2013). "Ch'ye giriş: Ch'de bir sıcaklık dönüştürücünün uygulanması". Bilgisayar Dünyası. Alıntı dergisi gerektirir | günlük = (Yardım Edin)
  2. ^ Ch Kabuğu
  3. ^ Ch IDE
  4. ^ Wang, Gary (2002). "Ch Taşınabilirlik Baş Ağrısını Çözer". IEEE Spektrumu. 39 (6): 59. doi:10.1109 / MSPEC.2002.1049264.
  5. ^ Cheng, Harry (1993). "Kanal Programlama Dilinde Karmaşık Sayıların İşlenmesi". Bilimsel Programlama: 76–106.
  6. ^ Cheng, Harry (1993). "Ch Programlama Dilinde Bilimsel Hesaplama". Bilimsel Programlama: 49–75. Alıntı dergisi gerektirir | günlük = (Yardım Edin)
  7. ^ Cheng, Harry (1995). "Tasarım Otomasyonu için C ve FORTRAN'ı Genişletme". ASME Trans., Journal of Mechanical Design: 390–395. Alıntı dergisi gerektirir | günlük = (Yardım Edin)
  8. ^ Cheng, Harry (1995). "C'yi değişken uzunluktaki dizilerle genişletmek". Bilgisayar Standartları ve Arayüzleri. 17 (4): 375–406. doi:10.1016 / 0920-5489 (95) 00007-H.[ölü bağlantı ]
  9. ^ Morejon, Mario (2006). "Ch Language Rivals Java İşlevselliği". CRN. Alıntı dergisi gerektirir | günlük = (Yardım Edin)
  10. ^ Cheng, Harry (2006). "Nesne Yönelimli Etkileşimli Mekanizma Tasarımı ve Analizi". Bilgisayarlarla Mühendislik. 21 (3): 237–246. doi:10.1007 / s00366-005-0008-4.
  11. ^ Zhu Yong (2003). "Etkileşimli Kontrol Sistemi Tasarımı ve Analizi için Nesne Tabanlı Yazılım Paketi". Mühendislikte Bilgisayar ve Bilgi Bilimi Dergisi. 3 (4): 366–367. doi:10.1115/1.1630815.
  12. ^ Cheng, Harry (2009). "Kurs için C". ASME Makine Mühendisliği Dergisi: 50–52. Alıntı dergisi gerektirir | günlük = (Yardım Edin)
  13. ^ Huber, Tom (2010). "C ve Ch'ye Giriş: Bilimsel Hesaplama için Tek Durak Mağazanız". Bilim ve Mühendislikte Hesaplama. 12 (4): 7. doi:10.1109 / MCSE.2010.82.
  14. ^ Liu, Li; Wang, Zhaoqing; Jiang, Xusheng (2010). "Ch platformu ile gömülü çapa tabanlı promgramlama öğretimi". Ch platformuna gömülü çapa tabanlı programlama öğretimi. Mekatronik ve Gömülü Sistemler ve Uygulamalar (MESA), IEEE / ASME Uluslararası Konferansı. s. 49–52. doi:10.1109 / MESA.2010.5552033. ISBN  978-1-4244-7101-0.
  15. ^ Furman, B .; Wertz, E. (2010). 2010 IEEE / ASME Uluslararası Mekatronik ve Gömülü Sistemler ve Uygulamalar Konferansı Bildirileri. Mekatronik ve Gömülü Sistemler ve Uygulamalar (MESA), IEEE / ASME Uluslararası Konferansı. s. 70–75. doi:10.1109 / MESA.2010.5552091. ISBN  978-1-4244-7101-0.
  16. ^ Zhuang, Hong; Wang, Zhao-qing (2009). "C Dilinde Bilgisayar Programlamayı Öğretmek için Ch Kullanma Deneyimi". Bilgisayar Eğitimi: TP311.11–4. CKNI: GÜNEŞ: JYJS.0.2009-07-016. Alıntı dergisi gerektirir | günlük = (Yardım Edin)
  17. ^ Wang, Rong (2009). "C Dili Programlama Öğretim Yönteminin platform Ch üzerinde incelenmesi". Weinan Öğretmenler Üniversitesi Dergisi: TP312.1–4. CNKI: GÜNEŞ: KURT.0.2009-05-018. Alıntı dergisi gerektirir | günlük = (Yardım Edin)
  18. ^ Stopforth, Riaan (2013). "Üçüncül düzeyde mekatronik mühendisliği eğitimi için Ch ile öğretim ve programlama". 2013 6. Robotik ve Mekatronik Konferansı (Rob Mech). Robotik ve Mekatronik Konferansı (RobMech). s. 146–149. doi:10.1109 / RoboMech.2013.6685507. ISBN  978-1-4799-1518-7.
  19. ^ ch robot
  20. ^ ch ispinoz
  21. ^ ch ahududu ve kol[kalıcı ölü bağlantı ]
  22. ^ "Komut Dosyası Oluşturma için LabVIEW'e C / C ++ Yorumlayıcı Ch Ekleme".
  23. ^ Wilson, Matthew (2004). "Açık RJ ve Ch". Dr. Dobb's Journal.
  24. ^ Cheng, Harry (2009). "Gömülü Komut Dosyası Kullanarak Yazılım Geliştirmeyi Hızlandırma". Dr. Dobb's Journal. s. 8.
  25. ^ Wang, Li-rong; Bo, Yo; Hagiwara, ben (2009). 2009 IEEE 10. Uluslararası Bilgisayar Destekli Endüstriyel Tasarım ve Kavramsal Tasarım Konferansı. Bilgisayar Destekli Endüstriyel Tasarım ve Kavramsal Tasarım, 2009. CAID & CD 2009. IEEE 10. Uluslararası Konferans. sayfa 1127–1132. doi:10.1109 / CAIDCD.2009.5375178. ISBN  978-1-4244-5266-8.
  26. ^ Wang, Li-rong; Bo, Yo; Hagiwara, Ichiro (2009). 3B ağ modelinin aracı tabanlı işbirliğine dayalı basitleştirmesi. Cdve'09. CDVE'09 6. Uluslararası işbirlikçi tasarım, görselleştirme ve mühendislik konferansının bildirileri. s. 325–328. ISBN  9783642042645.
  27. ^ Campbell, Matt (2003). "Ch, A C / C ++ Interpreter - C ve Unix'i seven kişiler için yeni olanaklar". MACTECH, Apple teknolojisi dergisi. Alıntı dergisi gerektirir | günlük = (Yardım Edin)
  28. ^ Cheng, Harry (2010). Ch Dil Ortamı (6.3 ed.). Davis, CA: SoftIntegration, Inc.
  29. ^ Glassborow Francis (2001). "Ch Dili Ortamı Sürüm 2.0". C Vu Dergisi: 36–37. Alıntı dergisi gerektirir | günlük = (Yardım Edin)

daha fazla okuma

Dış bağlantılar