Jump to content

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

Интерпретатор CH C/C++
Оригинальный автор(ы) Гарри Х. Ченг
Разработчик(и) СофтИнтеграция, Инк.
Первоначальный выпуск 1 октября 2001 г .; 22 года назад ( 01.10.2001 )
Стабильная версия
8.0.0 / 19 ноября 2017 г .; 6 лет назад ( 19.11.2017 )
Написано в С
Операционная система Windows , OS X , Linux , AIX , HP-UX , Solaris (SPARC и x86), QNX , FreeBSD
Платформа x86 , СПАРК
Доступно в Английский
Тип Интегрированная среда разработки
Лицензия Собственное программное обеспечение
Стандартная версия: бесплатная.
Студенческая версия: бесплатная программа для студентов.
Профессиональная версия: пробная версия на 30 дней.
Веб-сайт www .softintegration

CH / ˌ s ˈ / — это собственный кросс-платформенный C и C++ интерпретатор и среда языка сценариев . Первоначально он был разработан Гарри Ченгом как язык сценариев для начинающих изучать математику , вычисления, численный анализ (числовые методы) и программирование на C/C++. В настоящее время Ch разрабатывается и продается компанией SoftIntegration, Inc. , и доступно несколько версий, включая бесплатно доступную студенческую версию и CH Professional Edition для 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, включают:

  • Функции-члены
  • Смешанный код и декларация
  • Указатель this ->
  • Тип ссылки и передача по ссылке
  • Преобразование типа в стиле функции
  • Классы
  • Частные/публичные данные и функции в классах. Ch совместим с C++ в том смысле, что по умолчанию члены определения класса считаются закрытыми до тех пор, пока не будет дано «публичное» объявление.
  • Статический член класса/структуры/объединения
  • Константные функции-члены
  • Операторы нового и удаления
  • Конструкторы и деструкторы
  • Полиморфные функции
  • Оператор разрешения области
  • Функции ввода-вывода 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]

См. также

[ редактировать ]
  1. ^ Вирарагхаван, Шриранга (2013). «Введение в Ch: реализация преобразователя температуры в Ch» . Компьютерный мир. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  2. ^ Ч Шелл
  3. ^ Глава IDE
  4. ^ Ван, Гэри (2002). «Ch решает головные боли при портативности». IEEE-спектр . 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. дои : 10.1016/0920-5489(95)00007-H . [ мертвая ссылка ]
  9. ^ Морехон, Марио (2006). «Язык Ch конкурирует по функциональности Java» . КРН. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  10. ^ Ченг, Гарри (2006). «Проектирование и анализ объектно-ориентированного интерактивного механизма». Инженерное дело с компьютерами . 21 (3): 237–246. дои : 10.1007/s00366-005-0008-4 . S2CID   16996625 .
  11. ^ Чжу, Юн (2003). «Объектно-ориентированный программный пакет для интерактивного проектирования и анализа систем управления». Журнал вычислительной техники и информатики в технике . 3 (4): 366–367. дои : 10.1115/1.1630815 . S2CID   17908643 .
  12. ^ Ченг, Гарри (2009). «тройка» за курс . Журнал ASME Machine Engineering: 50–52. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  13. ^ Хубер, Том (2010). «Введение в C и Ch: ваш универсальный магазин для научных вычислений». Вычисления в науке и технике . 12 (4): 7. дои : 10.1109/MCSE.2010.82 .
  14. ^ Лю, Ли; Ван, Чжаоцин; Цзян, Сюшэн (2010). «Обучение программированию на основе якоря, встроенное в платформу Ch». Материалы Международной конференции IEEE/ASME 2010 г. по мехатронным и встраиваемым системам и приложениям . Мехатроника, встроенные системы и приложения (MESA), Международная конференция IEEE/ASME. стр. 49–52. дои : 10.1109/MESA.2010.5552033 . ISBN  978-1-4244-7101-0 . S2CID   2063024 .
  15. ^ Фурман, Б.; Вертц, Э. (2010). Материалы Международной конференции IEEE/ASME 2010 г. по мехатронным и встраиваемым системам и приложениям . Мехатроника, встроенные системы и приложения (MESA), Международная конференция IEEE/ASME. стр. 70–75. дои : 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). «Изучение метода обучения программированию на языке Си на платформе Ch» . Журнал Вэйнаньского педагогического университета: TP312.1–4. CNKI:SUN:WOLF.0.2009-05-018 . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  18. ^ Стопфорт, Риан (2013). «Преподавание и программирование с высшим техническим образованием в области мехатроники». 2013 6-я конференция по робототехнике и мехатронике (Rob Mech ) . Конференция по робототехнике и мехатронике (RobMech). стр. 146–149. дои : 10.1109/RoboMech.2013.6685507 . ISBN  978-1-4799-1518-7 . S2CID   23172598 .
  19. ^ ч робот
  20. ^ ч зяблик
  21. ^ ch малина и рука [ постоянная мертвая ссылка ]
  22. ^ «Внедрение интерпретатора C/C++ Ch в LabVIEW для написания сценариев» .
  23. ^ Уилсон, Мэтью (2004). «Открытый RJ и Ch» . Журнал доктора Добба .
  24. ^ Ченг, Гарри (2009). «Ускорение разработки программного обеспечения с использованием встроенных сценариев» . Журнал доктора Добба . п. 8.
  25. ^ Ван, Ли-жун; Бо, Йо; Хагивара, я (2009). 2009 г. 10-я Международная конференция IEEE по компьютерному промышленному дизайну и концептуальному проектированию . Компьютерное промышленное проектирование и концептуальное проектирование, 2009. CAID & CD 2009. 10-я Международная конференция IEEE. стр. 1127–1132. дои : 10.1109/CAIDCD.2009.5375178 . ISBN  978-1-4244-5266-8 . S2CID   39307433 .
  26. ^ Ван, Ли-жун; Бо, Йо; Хагивара, Ичиро (2009). Совместное упрощение трехмерной сетчатой ​​модели на основе агентов . Cдве'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= ( помощь )

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

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c8f73413f962e3f8e96515f2e2aca05e__1713899460
URL1:https://arc.ask3.ru/arc/aa/c8/5e/c8f73413f962e3f8e96515f2e2aca05e.html
Заголовок, (Title) документа по адресу, URL1:
Ch (computer programming) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)