Ch / ˌ s ˙I eɪ tʃ / является собственностью кросс-платформенный C и C ++ интерпретатор и язык сценариев среды, первоначально разработанный Гарри Х. Чэн как язык сценариев для начинающих изучать математику, вычислительной техники, численный анализ (численные методы), и программирование на C / C ++. Ch теперь разрабатывается и продается SoftIntegration, Inc. Студенческая версия находится в свободном доступе. Ch Professional Edition для Raspberry Pi бесплатен для некоммерческого использования.
Автор (ы) оригинала | Гарри Х. Ченг |
---|---|
Разработчики) | SoftIntegration, Inc. |
Первый выпуск | 1 октября 2001 г . |
Стабильный выпуск | 8.0.0 / 19 ноября 2017 г . |
Написано в | C |
Операционная система | Windows , OS X , Linux , AIX , HP-UX , Solaris (SPARC и x86), QNX , FreeBSD |
Платформа | x86 , SPARC |
Доступно в | английский |
Тип | Интегрированная среда развития |
Лицензия | Проприетарное программное обеспечение Стандартная версия: бесплатная версия Студенческая версия: бесплатная для студентов Профессиональная версия: пробная версия на 30 дней |
Веб-сайт | www |
Ch может быть встроен в прикладные программы C / C ++. Он имеет функции числовых вычислений и графического построения графиков. Ch - это комбинированная оболочка и IDE. [1] Оболочка Ch сочетает в себе функции общей оболочки и языка Си. [2] ChIDE обеспечивает быструю навигацию по коду и символьную отладку. Он основан на встроенных Ch, Scite и Scintilla. [3] [4]
Ch написан на C и работает в Windows , Linux , macOS , FreeBSD , AIX , Solaris , QNX и HP-UX . Он поддерживает C90 и основные функции C99, но не поддерживает полный набор функций C ++. Комплексное число C99, арифметика с плавающей запятой IEEE-754 и функции массивов переменной длины поддерживались в Ch до того, как они стали частью стандарта C99 . [5] [6] [7] [8] В статье, опубликованной Computer Reseller News ( CRN ), Ch выделяется среди виртуальных машин на основе C своей функциональностью и доступностью сторонних библиотек. [9]
Ch имеет множество инструментов, расширяющих его функции. Например, Ch Mechanism Toolkit используется для проектирования и анализа часто используемых механизмов, таких как четырехзвенная связь, пятизвенная связь, шестиступенчатая связь, кривошипно-скользящий механизм и система кулачкового толкателя. [10] Ch Control System Toolkit используется для моделирования, проектирования и анализа линейно-инвариантных во времени (LTI) систем управления с непрерывным или дискретным временем. [11] Оба инструментария включают исходный код.
Ch теперь используется и интегрирован в учебные программы многих средних школ и университетов для обучения вычислениям и программированию на C / C ++. [12] [13] [14] [15] [16] [17] [18] Ch был интегрирован в бесплатную C-STEM Studio, платформу для изучения информатики, науки, технологий, инженерии и математики (C-STEM ) с робототехникой. C-STEM Studio разработана Центром интегрированных вычислений и STEM-образования Калифорнийского университета в Дэвисе (C-STEM). Он предлагает учебную программу для учеников K-12.
Ch поддерживает LEGO Mindstorms NXT и EV3, Arduino, Linkbot, Finch Robot, RoboTalk и Raspberry Pi, Pi Zero и ARM для программирования и обучения роботов. [19] [20] [21] Он также может быть встроен в платформу системного проектирования LabVIEW и в среду разработки. [22]
Функции
Ch поддерживает классы стандарта ISO C (C99) и C ++ от 1999 года. Это надмножество C с классами C ++. Поддерживаются несколько основных функций C99, таких как комплексные числа, массивы переменной длины (VLA), арифметика с плавающей запятой IEEE-754 и общие математические функции. Также поддерживается спецификация широких символов в Приложении 1 для C90.
Возможности C ++, доступные в Ch, включают:
- Функции-члены
- Смешанный код и декларация
- Это - указатель>
- Тип ссылки и передача по ссылке
- Преобразование типов в функциональном стиле
- Классы
- Частные / общедоступные данные и функции в классах. Ch совместим с C ++ в том смысле, что по умолчанию члены определения класса считаются закрытыми до тех пор, пока не будет дано «общедоступное» объявление.
- Статический член класса / структуры / объединения
- Константные функции-члены
- Операторы new и delete
- Конструкторы и деструкторы
- Полиморфные функции
- Оператор разрешения области видимости:
- Функции ввода-вывода cout, cerr и cin с endl
- Аргументы для вариативных функций необязательны
Ch поддерживает классы на C ++ с дополнительными возможностями, в том числе:
- Классы внутри функций-членов
- Вложенные функции с классами
- Передача функции-члена в аргумент функции типа указатель на функцию
Ch может взаимодействовать с существующими библиотеками C / C ++ и вызывать функции C / C ++ из сценария Ch. [23] Как интерпретатор C / C ++, Ch можно использовать в качестве обработчика сценариев и языка расширения для приложений. Указатели на массивы или переменные могут передаваться и совместно использоваться как в C-скомпилированном, так и в Ch скриптовом контексте. Одним из примеров встроенного скриптового приложения Ch является Mobile-C, который использовался для совместной визуализации модели распределенной сетки. [24] [25] [26]
Ch имеет встроенный строковый тип (string_t) для автоматического выделения и отмены выделения памяти. Он поддерживает псевдонимы оболочки, историю, конвейер и т. Д. [27] [28]
Ch имеет встроенные функции графического построения 2D / 3D и вычислительные массивы для численных вычислений. Двумерное линейное уравнение вида b = A * x может быть записано дословно в гл. [29]
Смотрите также
- CINT
- Pike (язык программирования)
Рекомендации
- ^ Veeraraghavan, Sriranga (2013). «Введение в гл.« Реализация преобразователя температуры в гл. » . ComputerWorld. Цитировать журнал требует
|journal=
( помощь ) - ^ Ch Shell
- ^ Ch IDE
- ^ Ван, Гэри (2002). «Ch решает проблемы переносимости». IEEE Spectrum . 39 (6): 59. DOI : 10,1109 / MSPEC.2002.1049264 . S2CID 32477309 .
- ^ Ченг, Гарри (1993). «Обработка комплексных чисел на языке программирования Ch» . Научное программирование : 76–106.
- ^ Ченг, Гарри (1993). "Научные вычисления на языке программирования Ch" . Научное программирование: 49–75. Цитировать журнал требует
|journal=
( помощь ) - ^ Ченг, Гарри (1995). «Расширение C и FORTRAN для автоматизации проектирования» . ASME Trans., Журнал механического проектирования: 390–395. Цитировать журнал требует
|journal=
( помощь ) - ^ Ченг, Гарри (1995). «Расширение C массивами переменной длины». Компьютерные стандарты и интерфейсы . 17 (4): 375–406. DOI : 10.1016 / 0920-5489 (95) 00007-H .[ мертвая ссылка ]
- ^ Морехон, Марио (2006). "Ch Language Rivals Java Functionality" . CRN. Цитировать журнал требует
|journal=
( помощь ) - ^ Ченг, Гарри (2006). «Объектно-ориентированный дизайн и анализ интерактивных механизмов». Инжиниринг с компьютерами . 21 (3): 237–246. DOI : 10.1007 / s00366-005-0008-4 . S2CID 16996625 .
- ^ Чжу, Юн (2003). «Объектно-ориентированный программный комплекс для проектирования и анализа интерактивных систем управления». Журнал вычислительной техники и информатики в инженерии . 3 (4): 366–367. DOI : 10.1115 / 1.1630815 .
- ^ Ченг, Гарри (2009). «C для курса» . Журнал ASME по машиностроению: 50–52. Цитировать журнал требует
|journal=
( помощь ) - ^ Хубер, Том (2010). «Введение в C и Ch: ваш универсальный магазин для научных вычислений». Вычислительная техника в науке и технике . 12 (4): 7. DOI : 10,1109 / MCSE.2010.82 .
- ^ Лю, Ли; Ван, Чжаоцин; Цзян, Сюйшэн (2010). «Обучение программированию на основе привязки, встроенное в платформу Ch». Обучение программированию на основе привязки, встроенное в платформу Ch . Мехатроника, встроенные системы и приложения (MESA), Международная конференция IEEE / ASME. С. 49–52. DOI : 10.1109 / MESA.2010.5552033 . ISBN 978-1-4244-7101-0. S2CID 2063024 .
- ^ Фурман, Б .; Верц, Э. (2010). Материалы Международной конференции IEEE / ASME 2010 года по мехатронным и встроенным системам и приложениям . Мехатроника, встроенные системы и приложения (MESA), Международная конференция IEEE / ASME. С. 70–75. DOI : 10.1109 / MESA.2010.5552091 . ISBN 978-1-4244-7101-0. S2CID 12764358 .
- ^ Чжуан, Хун; Ван, Чжао-цин (2009). «Опыт использования Ch для обучения программированию на языке C» . Компьютерное образование: TP311.11–4. CKNI: ВС: JYJS.0.2009-07-016 . Цитировать журнал требует
|journal=
( помощь ) - ^ Ван, Ронг (2009). «Изучение методики обучения программированию на языке C на платформе Ch» . Журнал педагогического университета Вэйнань: TP312.1–4. CNKI: СОЛНЦЕ: ВОЛК.0.2009-05-018 . Цитировать журнал требует
|journal=
( помощь ) - ^ Стопфорт, Риан (2013). «Преподавание и программирование с Ch для высшего инженерного образования мехатроники». 2013 6-я конференция по робототехнике и мехатронике (Роб Мех ) . Конференция по робототехнике и мехатронике (RobMech). С. 146–149. DOI : 10.1109 / RoboMech.2013.6685507 . ISBN 978-1-4799-1518-7. S2CID 23172598 .
- ^ ch робот
- ^ ч зяблик
- ^ ch малина и рука [ постоянная мертвая ссылка ]
- ^ «Встраивание Ch интерпретатора C / C ++ в LabVIEW для написания сценариев» .
- ^ Уилсон, Мэтью (2004). «Open-RJ and Ch» . Журнал доктора Добба .
- ^ Ченг, Гарри (2009). «Ускорение разработки программного обеспечения с использованием встроенных сценариев» . Журнал доктора Добба . п. 8.
- ^ Ван, Ли-ронг; Бо, Йо; Хагивара, я (2009). 2009 10-я Международная конференция IEEE по автоматизированному промышленному дизайну и концептуальному дизайну . Компьютерный промышленный дизайн и концептуальный дизайн, 2009. CAID & CD 2009. 10-я Международная конференция IEEE. С. 1127–1132. DOI : 10.1109 / CAIDCD.2009.5375178 . ISBN 978-1-4244-5266-8. S2CID 39307433 .
- ^ Ван, Ли-ронг; Бо, Йо; Хагивара, Ичиро (2009). Агентное совместное упрощение трехмерной модели сетки . Cdve'09. CDVE'09 Материалы 6-й международной конференции по совместному проектированию, визуализации и инженерии. С. 325–328. ISBN 9783642042645.
- ^ Кэмпбелл, Мэтт (2003). «Ch, AC / C ++ Interpreter - Новые возможности для любителей C и Unix» . MACTECH, журнал технологий Apple. Цитировать журнал требует
|journal=
( помощь ) - ^ Ченг, Гарри (2010). Языковая среда Ch (изд. 6.3). Дэвис, Калифорния: SoftIntegration, Inc.
- ^ Глассбороу, Фрэнсис (2001). "Языковая среда Ch Версия 2.0" . Журнал C Vu: 36–37. Цитировать журнал требует
|journal=
( помощь )
дальнейшее чтение
- Хеллер, Мартин (2001). «Языковая среда Ch» . Байт . Архивировано из оригинального 16 ноября 2001 года. Цитировать журнал требует
|journal=
( помощь ) - Ченг, Гарри (2002). «C99 и числовые вычисления» . Журнал доктора Добба . С. 28–34.
- Ченг, Гарри (2006). "Ch: Интерпретатор AC / C ++ для скриптовых вычислений" . Журнал доктора Добба . С. 6–12.
- Ченг, Гарри (2009). C Для инженеров и ученых, интерпретационный подход . Макгроу-Хилл. ISBN 978-0-07-729046-7.
- Ченг, Гарри (2011). C Для инженеров и ученых (китайское изд.). Пресса о высшем образовании. ISBN 978-0-07-729046-7.
Внешние ссылки
- Официальный сайт , SoftIntegration
- Mobile-C: мультиагентная платформа для мобильных агентов C / C ++ Домашняя страница
- Студия C-STEM