Ч (компьютерное программирование)
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Оригинальный автор(ы) | Гарри Х. Ченг |
---|---|
Разработчик(и) | СофтИнтеграция, Инк. |
Первоначальный выпуск | 1 октября 2001 г |
Стабильная версия | 8.0.0 / 19 ноября 2017 г |
Написано в | С |
Операционная система | Windows , OS X , Linux , AIX , HP-UX , Solaris (SPARC и x86), QNX , FreeBSD |
Платформа | x86 , СПАРК |
Доступно в | Английский |
Тип | Интегрированная среда разработки |
Лицензия | Собственное программное обеспечение Стандартная версия: бесплатная. Студенческая версия: бесплатная программа для студентов. Профессиональная версия: пробная версия на 30 дней. |
Веб-сайт | www |
CH / ˌ s iː ˈ eɪ tʃ / — это собственный кросс-платформенный 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]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Вирарагхаван, Шриранга (2013). «Введение в Ch: реализация преобразователя температуры в Ch» . Компьютерный мир.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Ч Шелл
- ^ Глава IDE
- ^ Ван, Гэри (2002). «Ch решает головные боли при портативности». IEEE-спектр . 39 (6): 59. doi : 10.1109/MSPEC.2002.1049264 . S2CID 32477309 .
- ^ Ченг, Гарри (1993). «Обработка комплексных чисел в языке программирования Ch» . Научное программирование : 76–106.
- ^ Ченг, Гарри (1993). «Научные вычисления на языке программирования Ch» . Научное программирование: 49–75.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Ченг, Гарри (1995). «Расширение C и FORTRAN для автоматизации проектирования» . ASME Trans., Журнал механического проектирования: 390–395.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Ченг, Гарри (1995). «Расширение C с помощью массивов переменной длины». Компьютерные стандарты и интерфейсы . 17 (4): 375–406. дои : 10.1016/0920-5489(95)00007-H . [ мертвая ссылка ]
- ^ Морехон, Марио (2006). «Язык Ch конкурирует по функциональности Java» . КРН.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Ченг, Гарри (2006). «Проектирование и анализ объектно-ориентированного интерактивного механизма». Инженерное дело с компьютерами . 21 (3): 237–246. дои : 10.1007/s00366-005-0008-4 . S2CID 16996625 .
- ^ Чжу, Юн (2003). «Объектно-ориентированный программный пакет для интерактивного проектирования и анализа систем управления». Журнал вычислительной техники и информатики в технике . 3 (4): 366–367. дои : 10.1115/1.1630815 . S2CID 17908643 .
- ^ Ченг, Гарри (2009). «тройка» за курс . Журнал ASME Machine Engineering: 50–52.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Хубер, Том (2010). «Введение в C и Ch: ваш универсальный магазин для научных вычислений». Вычисления в науке и технике . 12 (4): 7. дои : 10.1109/MCSE.2010.82 .
- ^ Лю, Ли; Ван, Чжаоцин; Цзян, Сюшэн (2010). «Обучение программированию на основе якоря, встроенное в платформу Ch». Материалы Международной конференции IEEE/ASME 2010 г. по мехатронным и встраиваемым системам и приложениям . Мехатроника, встроенные системы и приложения (MESA), Международная конференция IEEE/ASME. стр. 49–52. дои : 10.1109/MESA.2010.5552033 . ISBN 978-1-4244-7101-0 . S2CID 2063024 .
- ^ Фурман, Б.; Вертц, Э. (2010). Материалы Международной конференции IEEE/ASME 2010 г. по мехатронным и встраиваемым системам и приложениям . Мехатроника, встроенные системы и приложения (MESA), Международная конференция IEEE/ASME. стр. 70–75. дои : 10.1109/MESA.2010.5552091 . ISBN 978-1-4244-7101-0 . S2CID 12764358 .
- ^ Чжуан, Хун; Ван, Чжао-цин (2009). «Опыт использования Ch для обучения программированию на языке C» . Компьютерное образование: TP311.11–4. CKNI:SUN:JYJS.0.2009-07-016 .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Ван, Ронг (2009). «Изучение метода обучения программированию на языке Си на платформе Ch» . Журнал Вэйнаньского педагогического университета: TP312.1–4. CNKI:SUN:WOLF.0.2009-05-018 .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Стопфорт, Риан (2013). «Преподавание и программирование с высшим техническим образованием в области мехатроники». 2013 6-я конференция по робототехнике и мехатронике (Rob Mech ) . Конференция по робототехнике и мехатронике (RobMech). стр. 146–149. дои : 10.1109/RoboMech.2013.6685507 . ISBN 978-1-4799-1518-7 . S2CID 23172598 .
- ^ ч робот
- ^ ч зяблик
- ^ ch малина и рука [ постоянная мертвая ссылка ]
- ^ «Внедрение интерпретатора C/C++ Ch в LabVIEW для написания сценариев» .
- ^ Уилсон, Мэтью (2004). «Открытый RJ и Ch» . Журнал доктора Добба .
- ^ Ченг, Гарри (2009). «Ускорение разработки программного обеспечения с использованием встроенных сценариев» . Журнал доктора Добба . п. 8.
- ^ Ван, Ли-жун; Бо, Йо; Хагивара, я (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 .
- ^ Ван, Ли-жун; Бо, Йо; Хагивара, Ичиро (2009). Совместное упрощение трехмерной сетчатой модели на основе агентов . Cдве'09. CDVE'09 Материалы 6-й международной конференции по кооперативному проектированию, визуализации и инжинирингу. стр. 325–328. ISBN 9783642042645 .
- ^ Кэмпбелл, Мэтт (2003). «Ch, AC/C++ Interpreter – Новые возможности для любителей C и Unix» . MACTECH, журнал технологий Apple.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Ченг, Гарри (2010). Языковая среда Ch (6.3 изд.). Дэвис, Калифорния: SoftIntegration, Inc.
- ^ Глассборо, Фрэнсис (2001). «Языковая среда Ch, версия 2.0» . Журнал C Vu: 36–37.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь )
Дальнейшее чтение
[ редактировать ]- Хеллер, Мартин (2001). «Языковая среда Ч.» . Байт . Архивировано из оригинала 16 ноября 2001 года.
{{cite journal}}
: Для цитирования журнала требуется|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 .