请输入您要查询的百科知识:

 

词条 Ch (computer programming)
释义

  1. Features

  2. See also

  3. References

  4. Further reading

  5. External links

{{Multiple issues|{{confusing|date=June 2011}}{{tone|date=September 2017}}{{weasel|date=September 2017}}
}}{{Infobox software
| name = Ch C/C++ interpreter
| logo =
| screenshot =
| caption =
| author = Harry H. Cheng
| developer = SoftIntegration, Inc.
| released = {{Start date and age|2001|10|01}}
| latest release version = 8.0.0
| latest release date = {{Start date and age|2017|11|19}}
| status =
| programming language = C
| operating system = Windows, OS X, Linux, AIX, HP-UX, Solaris (SPARC and x86), QNX, FreeBSD
| platform = x86, SPARC
| size =
| language = English
| genre = Integrated development environment
| license = Proprietary software
Standard edition: freeware
Student edition: freeware for students
Professional edition: trialware for 30 days
| website = {{URL|www.softintegration.com}}
}}

Ch {{IPAc-en|ˌ|s|iː|ˈ|eɪ|tʃ}} is a proprietary cross-platform C and C++ interpreter and scripting language environment, originally designed by Harry H. Cheng as a scripting language for beginners to learn mathematics, computing, numerical analysis (numeric methods), and programming in C/C++. Ch is now developed and marketed by SoftIntegration, Inc. A student edition is freely available. Ch Professional Edition for Raspberry Pi is free for non-commercial use.

Ch can be embedded in C/C++ application programs. It has numerical computing and graphical plotting features. Ch is a combined shell and IDE.[1] Ch shell combines the features of common shell and C language.[2] ChIDE provides quick code navigation and symbolic debugging. It is based on embedded Ch, Scite and Scintilla.[3][4]

Ch is written in C and runs on Windows, Linux, macOS, FreeBSD, AIX, Solaris, QNX, and HP-UX. It supports C90 and major C99 features, but it does not support the full set of C++ features. C99 complex number, IEEE-754 floating-point arithmetic, and variable-length array features were supported in Ch before they became part of the C99 standard.[5][6][7][8] An article published by Computer Reseller News (CRN) named Ch as notable among C-based virtual machines for its functionality and the availability of third-party libraries.[9]

Ch has many toolkits that extend its functions. For example, Ch Mechanism Toolkit is used for design and analysis of commonly used mechanisms such as fourbar linkage, five-bar linkage, six-bar linkage, crank-slider mechanism, and cam-follower system.[10] Ch Control System Toolkit is used for modeling, design, and analysis of continuous-time or discrete-time linear time invariant (LTI) control systems.[11] Both toolkits includes the source code.

Ch is now used and integrated into curriculum by many high schools and universities to teach computing and programming in C/C++.[12][13][14][15][16][17][18] Ch has been integrated into free C-STEM Studio, a platform for learning computing, science, technology, engineering, and mathematics (C-STEM) with robotics. C-STEM Studio is developed by UC Davis Center for Integrated Computing and STEM Education (C-STEM). It offers the curriculum for K-12 students.

Ch supports LEGO Mindstorms NXT and EV3, Arduino, Linkbot, Finch Robot, RoboTalk and Raspberry Pi, Pi Zero, and ARM for robot programming and learning.[19][20][21] It can also be embedded into the LabVIEW system-design platform and development environment.[22]

Features

Ch supports the 1999 ISO C Standard (C99) and C++ classes. It is a superset of C with C++ classes. Several major features of C99 are supported, such as complex numbers, variable length arrays (VLAs), IEEE-754 floating-point arithmetic, and generic mathematical functions. The specification for wide characters in Addendum 1 for C90 is also supported.

C++ features available in Ch include:

  • Member functions
  • Mixed code and declaration
  • The this -> pointer
  • Reference type and pass-by-reference
  • Function-style type conversion
  • Classes
  • Private/public data and functions in classes. Ch is compatible with C++ in that by default, members of a class definition are assumed to be private until a 'public' declaration is given
  • Static member of class/struct/union
  • Const member functions
  • The new and delete operators
  • Constructors and destructors
  • Polymorphic functions
  • The scope resolution operator ::
  • The I/O functions cout, cerr, and cin with endl
  • Arguments for variadic functions are optional

Ch supports classes in C++ with added abilities, including:

  • Classes inside member functions
  • Nested functions with classes
  • Passing member function to argument of pointer-to-function type of functions

Ch can interact with existing C/C++ libraries and call C/C++ functions from Ch script.[23]

As a C/C++ interpreter, Ch can be used as a scripting engine and extension language for applications. Pointers to arrays or variables can be passed and shared in both C-compiled and Ch scripting contexts. One example of an embedded Ch scripting application is Mobile-C, which has been used for collaborative visualization of distributed mesh model.[24][25][26]

Ch has a built-in string type (string_t) for automatic memory allocation and de-allocation. It supports shell aliases, history, piping, etc.[27][28]

Ch has built-in 2D/3D graphical plotting features and computational arrays for numerical computing. A 2D linear equation of the form b = A*x can be written verbatim in Ch.[29]

See also

  • CINT
  • Pike (programming language)

References

1. ^{{cite journal |last= Veeraraghavan |first= Sriranga |year= 2013 |title= An introduction to Ch: Implementing a temperature converter in Ch |url= http://www.techworld.com.au/article/452524/an_introduction_ch_implementing_temperature_converter_ch/ |publisher= ComputerWorld}}
2. ^Ch Shell
3. ^Ch IDE
4. ^{{cite journal |last= Wang |first= Gary |year= 2002 |title= Ch Solves Portability Headaches |journal= IEEE Spectrum |volume= 39 |issue= 6 |pages= 59 |url= http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1049264 |doi= 10.1109/MSPEC.2002.1049264 }}
5. ^{{cite journal |last= Cheng |first= Harry |year= 1993 |title= Handling of Complex Numbers in the Ch Programming Language |pages= 76–106 |url= http://iospress.metapress.com/content/xml874m51x1w42w0/|journal=Scientific Programming}}
6. ^{{cite journal |last= Cheng |first= Harry |year= 1993 |title= Scientific Computing in the Ch Programming Language |pages= 49–75 |url= http://iospress.metapress.com/content/f225771541203807/ |publisher= Scientific Programming}}
7. ^{{cite journal |last= Cheng |first= Harry |year= 1995 |title= Extending C and FORTRAN for Design Automation |pages= 390–395 |url= http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=JMDEDB000117000003000390000001&idtype=cvips&gifs=yes&ref=no |publisher= ASME Trans., Journal of Mechanical Design}}
8. ^{{cite journal |last= Cheng |first= Harry |year= 1995 |title= Extending C with arrays of variable length |pages= 375–406 |url= http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TYV-3Y6PCHF-V&_user=10&_coverDate=09%2F15%2F1995&_alid=1737140035&_rdoc=1&_fmt=high&_orig=search&_origin=search&_zone=rslt_list_item&_cdi=5628&_sort=r&_st=13&_docanchor=&view=c&_ct=1&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=1369ffa56fdef3033135fa8fc1eb4c15&searchtype=a |doi=10.1016/0920-5489(95)00007-H |journal= Computer Standards & Interfaces |volume= 17 |issue= 4}}{{dead link|date=March 2019|bot=medic}}{{cbignore|bot=medic}}
9. ^{{cite journal |last= Morejon |first=Mario |year= 2006 |title= Ch Language Rivals Java Functionality |url= http://www.crn.com/reviews/applications-os/175804126/ch-language-rivals-java-functionality.htm |publisher= CRN}}
10. ^{{cite journal |last= Cheng |first= Harry |year= 2006 |title= Object-Oriented Interactive Mechanism Design and Analysis |journal= Engineering with Computers |volume= 21 |issue= 3 |pages= 237–246 |doi= 10.1007/s00366-005-0008-4 }}
11. ^{{cite journal |last= Zhu |first= Yong |year= 2003 |title= An Object-Based Software Package for Interactive Control System Design and Analysis |journal= Journal of Computing and Information Science in Engineering |volume= 3 |issue= 4 |pages= 366–367 |url= http://computingengineering.asmedigitalcollection.asme.org/article.aspx?articleid=1399866f |doi= 10.1115/1.1630815 }}
12. ^{{cite journal |last= Cheng |first= Harry |year= 2009 |title= C for the Course |pages= 50–52 |url= http://memagazine.asme.org/Articles/2009/september/C_Course.cfm |publisher= ASME Mechanical Engineering Magazine}}
13. ^{{cite journal |last= Huber |first= Tom |year= 2010 |title= An Introduction to C and Ch: Your One-Stop Shop for Scientific Computing |doi=10.1109/MCSE.2010.82 |journal= Computing in Science & Engineering |volume= 12 |issue= 4 |page= 7}}
14. ^{{cite book |last1=Liu |first1=Li |last2= Wang |first2= Zhaoqing|last3=Jiang |first3= Xusheng |year= 2010 |title= Anchor-based programming teaching embedded with Ch platform |pages= 49–52 |chapter-url= http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5552033 |publisher= Mechatronics and Embedded Systems and Applications (MESA), IEEE/ASME International Conference|doi=10.1109/MESA.2010.5552033 |chapter=Anchor-based promgramming teaching embedded with Ch platform |isbn=978-1-4244-7101-0 }}
15. ^{{cite book |last1=Furman |first1=B. |title=Proceedings of 2010 IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications |last2= Wertz |first2= E. |year= 2010 |pages= 70–75 |publisher= Mechatronics and Embedded Systems and Applications (MESA), IEEE/ASME International Conference|doi=10.1109/MESA.2010.5552091 |isbn=978-1-4244-7101-0 }}
16. ^{{cite journal |last1=Zhuang |first1=Hong |last2= Wang |first2= Zhao-qing |year= 2009 |title= Experience of Using Ch for Teaching Computer Programming in C |pages= TP311.11–4 |url= http://en.cnki.com.cn/Article_en/CJFDTOTAL-JYJS200907016.htm |publisher= Computer Education |id=CKNI:SUN:JYJS.0.2009-07-016}}
17. ^{{cite journal |last1=Wang |first1=Rong |year= 2009 |title= Study of C Language Programming Teaching Method on platform Ch |pages= TP312.1–4 |url= http://en.cnki.com.cn/Article_en/CJFDTOTAL-WOLF200905018.htm |publisher= Journal of Weinan Teachers University |id=CNKI:SUN:WOLF.0.2009-05-018}}
18. ^{{cite book |last1=Stopforth |first1=Riaan |title=2013 6th Robotics and Mechatronics Conference (Rob Mech) |year= 2013 |pages= 146–149 |chapter-url= http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=6685507&punumber%3D6678934%26sortType%3Dasc_p_Sequence%26filter%3DAND%28p_IS_Number%3A6685470%29%26pageNumber%3D2 |publisher= Robotics and Mechatronics Conference (RobMech)|doi=10.1109/RoboMech.2013.6685507 |isbn=978-1-4799-1518-7 |chapter=Teaching and programming with Ch for tertiary-level mechatronics engineering education }}
19. ^ch robot
20. ^ch finch
21. ^ch raspberry and arm
22. ^{{Cite web|url=http://iel.ucdavis.edu/projects/chlabview/|title=Embedding a C/C++ Interpreter Ch into LabVIEW for Scripting|last=|first=|date=|website=|access-date=}}
23. ^{{cite journal |last= Wilson |first= Matthew |year= 2004 |title= Open-RJ and Ch |url= http://drdobbs.com/184401877?queryText=ChSDK |publisher= Dr. Dobb's Journal}}
24. ^{{cite journal |last= Cheng |first= Harry |year= 2009 |title= Speeding-Up Software Development Using Embedded Scripting |pages= 8 |url= http://drdobbs.com/architecture-and-design/212201774 |publisher= Dr. Dobb's Journal}}
25. ^{{cite book |last1=Wang |first1=Li-rong |title=2009 IEEE 10th International Conference on Computer-Aided Industrial Design & Conceptual Design |pages=1127–1132 |last2= Bo |first2= Yo|last3=Hagiwara |first3= I |publisher= Computer-Aided Industrial Design & Conceptual Design, 2009. CAID & CD 2009. IEEE 10th International Conference|doi=10.1109/CAIDCD.2009.5375178 |year=2009 |isbn=978-1-4244-5266-8 }}
26. ^{{cite book |last1=Wang |first1=Li-rong |last2= Bo |first2= Yo|last3=Hagiwara |first3= Ichiro |title= An agent based collaborative simplification of 3D mesh model |pages=325–328 |url= http://dl.acm.org/citation.cfm?id=1813032 |year=2009 |publisher= CDVE'09 Proceedings of the 6th international conference on cooperative design, visualization, and engineering|isbn=9783642042645 |series=Cdve'09 }}
27. ^{{cite journal |last= Campbell |first= Matt |year= 2003 |title= Ch, A C/C++ Interpreter – New possibilities for people who like C and Unix |url= http://www.mactech.com/articles/mactech/Vol.19/19.09/CInterpreter/index.html |publisher= MACTECH, the journal of Apple technology}}
28. ^{{cite book|last=Cheng|first=Harry|title=The Ch Language Environment|edition=6.3|year=2010|publisher= SoftIntegration , Inc.|location=Davis, CA}}
29. ^{{cite journal |last= Glassborow |first= Francis |year= 2001 |title= The Ch Language Environment Version 2.0 |url= http://www.softintegration.com/company/pub/accu.html |pages= 36–37 |publisher= C Vu Magazine}}

Further reading

  • {{cite journal |last=Heller |first=Martin |year=2001 |title=The Ch Language Environment |url=http://www.byte.com/documents/s=1776/byt20011031s0002/1105_heller.html |publisher=Byte |deadurl=yes |archiveurl=https://web.archive.org/web/20011116220556/http://www.byte.com/documents/s%3D1776/byt20011031s0002/1105_heller.html |archivedate=November 16, 2001 |df= }}
  • {{cite journal |last= Cheng |first= Harry |year= 2002 |title= C99 & Numeric Computing |pages= 28–34 |url= http://drdobbs.com/cpp/184404993 |publisher= Dr. Dobb's Journal}}
  • {{cite journal |last= Cheng |first= Harry |year= 2006 |title= Ch: A C/C++ Interpreter for Script Computing |pages= 6–12 |url= http://drdobbs.com/184402054 |publisher= Dr. Dobb's Journal}}
  • {{cite book |last= Cheng |first= Harry |year= 2009 |title= C For Engineers & Scientists, An Interpretive Approach |url= http://highered.mcgraw-hill.com/sites/0073376051/ |publisher= McGraw-Hill|isbn= 978-0-07-729046-7}}
  • {{cite book |last= Cheng |first= Harry |year= 2011 |title= C For Engineers & Scientists (Chinese edition) |url= https://www.amazon.cn/C%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%95%99%E7%A8%8B-%E7%A8%8B%E8%BE%89/dp/B005JR8IW6/ref=sr_1_1?s=books&ie=UTF8&qid=1325463722&sr=1-1 |publisher= Higher Education Press|isbn= 978-0-07-729046-7}}

External links

  • {{Official website|www.softintegration.com}}, SoftIntegration
  • Mobile-C: a Multi-Agent Platform for Mobile C/C++ Agents Home Page
  • C-STEM Studio
{{DEFAULTSORT:Ch Interpreter}}

4 : C programming language family|Educational programming languages|Interpreters (computing)|Pedagogic integrated development environments

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/10 17:39:22