stringtranslate.com

Ч (компьютерное программирование)

CH / ˌ s ˈ / — это проприетарный кроссплатформенный интерпретатор C и C++ и среда языка сценариев. Первоначально он был разработан Гарри Ченгом как язык сценариев для начинающих изучать математику , вычисления, численный анализ (численные методы) и программирование на C/C++. В настоящее время Ch разрабатывается и продается компанией SoftIntegration, Inc. , доступно несколько версий, включая бесплатную студенческую версию и профессиональную версию CH для Raspberry Pi , которая бесплатна для некоммерческого использования.

CH может быть встроен в прикладные программы C и C++. Он имеет функции численных вычислений и графического построения графиков. CH объединяет в себе возможности оболочки и IDE . [1] Оболочка CH объединяет возможности общей оболочки и языка C. [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-образования Калифорнийского университета в Дэвисе, предлагая учебную программу для учащихся 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 1999 (C99) и классы C++. Это надмножество C с классами C++. Поддерживаются несколько основных функций C99, такие как комплексные числа, массивы переменной длины (VLA), арифметика с плавающей точкой IEEE-754 и общие математические функции. Спецификация для широких символов в Приложении 1 для C90 также поддерживается.

Возможности C++, доступные в CH, включают:

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 может быть записано дословно в Ch. [29]

Смотрите также

Ссылки

  1. ^ Вирарагхаван, Шриранга (2013). «Введение в Ch: Реализация преобразователя температуры в Ch». ComputerWorld. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  2. ^ Ч. Шелл
  3. ^ Ч IDE
  4. ^ Ванг, Гэри (2002). «Ch решает проблемы переносимости». IEEE Spectrum . 39 (6): 59. doi :10.1109/MSPEC.2002.1049264. S2CID  32477309.
  5. ^ Ченг, Гарри (1993). «Обработка комплексных чисел в языке программирования Ch». Научное программирование : 76–106.
  6. ^ Чэн, Гарри (1993). «Научные вычисления на языке программирования Ch». Научное программирование: 49–75. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  7. ^ Ченг, Гарри (1995). «Расширение C и FORTRAN для автоматизации проектирования». ASME Trans., Журнал механического проектирования: 390–395. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  8. ^ Ченг, Гарри (1995). «Расширение C с помощью массивов переменной длины». Компьютерные стандарты и интерфейсы . 17 (4): 375–406. doi :10.1016/0920-5489(95)00007-H.[ мертвая ссылка ]
  9. ^ Морехон, Марио (2006). «Язык Ch соперничает с функциональностью Java». CRN. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  10. ^ Ченг, Гарри (2006). «Проектирование и анализ объектно-ориентированных интерактивных механизмов». Engineering with Computers . 21 (3): 237–246. doi :10.1007/s00366-005-0008-4. S2CID  16996625.
  11. ^ Чжу, Юн (2003). «Пакет программного обеспечения на основе объектов для проектирования и анализа интерактивных систем управления». Журнал вычислительной техники и информационной науки в машиностроении . 3 (4): 366–367. doi :10.1115/1.1630815. S2CID  17908643.
  12. ^ Ченг, Гарри (2009). «C для курса». Журнал ASME Mechanical Engineering: 50–52. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  13. ^ Хубер, Том (2010). «Введение в C и Ch: ваш универсальный магазин для научных вычислений». Вычислительная техника в науке и технике . 12 (4): 7. doi :10.1109/MCSE.2010.82.
  14. ^ Лю, Ли; Ван, Чжаоцин; Цзян, Сюйшэн (2010). «Обучение программированию на основе якоря, встроенное в платформу Ch». Труды Международной конференции IEEE/ASME по мехатронным и встраиваемым системам и приложениям 2010 года . Мехатроника и встраиваемые системы и приложения (MESA), Международная конференция IEEE/ASME. стр. 49–52. doi :10.1109/MESA.2010.5552033. ISBN 978-1-4244-7101-0. S2CID  2063024.
  15. ^ Фурман, Б.; Верц, Э. (2010). Труды Международной конференции IEEE/ASME 2010 года по мехатронным и встраиваемым системам и приложениям . Мехатроника и встраиваемые системы и приложения (MESA), Международная конференция IEEE/ASME. стр. 70–75. doi :10.1109/MESA.2010.5552091. ISBN 978-1-4244-7101-0. S2CID  12764358.
  16. ^ Чжуан, Хун; Ван, Чжаоцин (2009). «Опыт использования Ch для обучения компьютерному программированию на языке C». Компьютерное образование: TP311.11–4. CKNI:SUN:JYJS.0.2009-07-016. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  17. ^ Ван, Ронг (2009). «Изучение метода обучения программированию на языке C на платформе Ch». Журнал Weinan Teachers University: TP312.1–4. CNKI:SUN:WOLF.0.2009-05-018. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  18. ^ Stopforth, Riaan (2013). «Преподавание и программирование с Ch для высшего мехатронного инженерного образования». 2013 6-я конференция по робототехнике и мехатронике (Rob Mech ) . Конференция по робототехнике и мехатронике (RobMech). стр. 146–149. doi :10.1109/RoboMech.2013.6685507. ISBN 978-1-4799-1518-7. S2CID  23172598.
  19. ^ ч робот
  20. ^ ч зяблик
  21. ^ ch raspberry and arm [ постоянная мертвая ссылка ]
  22. ^ «Внедрение интерпретатора C/C++ Ch в LabVIEW для написания скриптов».
  23. ^ Уилсон, Мэтью (2004). «Open-RJ и Ch». Журнал доктора Добба .
  24. ^ Ченг, Гарри (2009). «Ускорение разработки программного обеспечения с использованием встроенных сценариев». Журнал доктора Добба . стр. 8.
  25. ^ Ван, Ли-ронг; Бо, Йо; Хагивара, И (2009). 2009 IEEE 10-я международная конференция по автоматизированному промышленному проектированию и концептуальному дизайну . Автоматизированное промышленное проектирование и концептуальное проектирование, 2009. CAID & CD 2009. IEEE 10-я международная конференция. стр. 1127–1132. doi :10.1109/CAIDCD.2009.5375178. ISBN 978-1-4244-5266-8. S2CID  39307433.
  26. ^ Ван, Ли-ронг; Бо, Йо; Хагивара, Ичиро (2009). Совместное упрощение трехмерной модели сетки с помощью агентов. Cdve'09. CDVE'09 Труды 6-й международной конференции по совместному проектированию, визуализации и инжинирингу. С. 325–328. ISBN 9783642042645.
  27. ^ Кэмпбелл, Мэтт (2003). «Ch, AC/C++ Interpreter – Новые возможности для тех, кто любит C и Unix». MACTECH, журнал технологий Apple. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  28. ^ Ченг, Гарри (2010). Языковая среда Ch (6.3 ред.). Дэвис, Калифорния: SoftIntegration, Inc.
  29. ^ Глассбороу, Фрэнсис (2001). «Языковая среда Ch версии 2.0». Журнал C Vu: 36–37. {{cite journal}}: Цитировать журнал требует |journal=( помощь )

Дальнейшее чтение

Внешние ссылки