Как выполнить код C++ без компиляции?

чтобы передать некоторый код приложению, созданному с помощью C++ , я использовал открытый исходный код C++, который действовал как интерпретатор TCL. Поэтому я мог бы создать файл, там поместить некоторые XML-данные и в некоторые теги некоторый код TCL. Наконец, можно прочитать файл настроить некоторую структуру и выполнить фрагменты сценария TCL из XML-файла в соответствующих местах. Чтобы не использовать C++ и TCL одновременно, я спрашиваю следующее:

есть ли открытый исходный код C++, который может выполнить код C++ без компиляции? Другими словами, есть интерпретатор C++.

3 ответов


CINT

Что такое CINT?

CINT является интерпретатором кода C и c++. Это полезно, например, для ситуаций, когда быстрое развитие более важно, чем время выполнения. С помощью интерпретатора цикл компиляции и компоновки резко сокращается, что способствует быстрому развитию. CINT делает программирование на C / C++ приятным даже для программистов неполный рабочий день.

CINT написан на самом C++, с чуть менее чем 400 000 строк кода. Он используется в производстве несколькими компаниями в банковской, интегрированных устройствах и даже игровой среде, и, конечно, ROOT, что делает его интерпретатором по умолчанию для большого количества физиков высокой энергии во всем мире.


должен признаться, я не ожидал, что он будет, но поиск показал следующее:

Ch

:

Ch (произносится как /sisiːˈeɪtʃ/) является кросс-платформенным интерпретатором C и C++. Он предоставляется SoftIntegration, Inc для пользователей C / C++. Ch полезен для сценариев, программирования оболочки, 2D / 3D-построения, численных вычислений и может быть встроен в другие приложения для добавления возможностей сценариев. Ch можно использовать для обоих веб-разработка на стороне сервера и клиента. Он работает под Windows, Linux, Mac OS X и некоторыми версиями Unix. Ch поддерживает C90 и основные функции C99, но не поддерживает полные функции C++.

источник

поэтому проверьте, что он охватывает необходимые функции.


да. Проверьте это:http://root.cern.ch/drupal/content/cint (это тоже бесплатное программное обеспечение).

кроме того: вы, безусловно, можете найти лучшее решение, чем встраивание интерпретатора C++, особенно с гораздо более легкими, легко встраиваемыми языками, такими как Луа, Python, etc.