запустить интерпретацию c ++?

Есть ли способ запустить код С ++ как интерпретируемый, а не скомпилированный? чтобы я мог редактировать код и писать функции на лету?


Связанный:


person Community    schedule 17.04.2009    source источник
comment
Хотя это возможно, это не совсем хорошая идея. C ++ действительно плохо подходит для интерпретаторов. Его основная сила - скорость - исчезла, его недостатки (относительно низкий уровень, отсутствие проверки ошибок на неправильные указатели и т. Д.) Остались. Не все можно сделать в интерпретаторе. Есть много гораздо более подходящих интерпретируемых языков, и есть jit-компиляторы для C ++ - компилируйте и запускайте, заставляя его вести себя очень похоже на интерпретатор с точки зрения пользователя, хотя на самом деле он компилируется.   -  person SF.    schedule 11.03.2010


Ответы (6)


Взгляните на Ch, встраиваемый интерпретатор C ++.

Ch - это встраиваемый интерпретатор C / C ++ для межплатформенного написания сценариев, программирования оболочки, построения 2D / 3D-графиков, численных вычислений и встроенных сценариев. Ch - бесплатная и удобная альтернатива компиляторам C / C ++ для начинающих изучать C / C ++.

person Paul Dixon    schedule 17.04.2009
comment
Я все еще удивляюсь, почему нет версии ch. может потому что это никому не нужно? - person jokoon; 13.01.2015

Ch и CINT (обычно как часть системы ROOT) интерпретируют C ++. Однако мой опыт работы с CINT не был хорошим: языковая поддержка не завершена (особенно, когда речь идет о шаблонах), выполнение намного медленнее, была история ошибок, например, область видимости переменной и выход из цикла, и (ИМО) это больше хлопот, чем стоит. C ++ как язык особенно плохо разработан для интерпретируемого использования.

Если вам нужно запустить интерпретируемый код, почему бы не использовать современный интерпретируемый язык, такой как Python или Ruby? При необходимости можно использовать такой инструмент, как SWIG, для их подключения к существующим библиотекам C / C ++.

person andybuckley    schedule 17.04.2009
comment
плохо спроектированный предполагает, что он был разработан для такого использования. Я бы сказал, не разработан и не подходит - person MSalters; 17.04.2009
comment
Java тоже действительно хороший интерпретируемый язык :) - person Alexander Mills; 18.05.2013

Попробуйте это:

person Vijay Mathew    schedule 11.03.2010

CINT (readme) определенно имеет одноступенчатое управление. Однако я не уверен в модификациях на лету.

person Mark    schedule 17.04.2009

Это не совсем ответ на ваш вопрос, но, возможно, поможет.

Компилятор MS C ++ поддерживает «Изменить и продолжить», что позволяет останавливать, вносить изменения, перекомпилировать и продолжать работу, не завершая работу программы.

person John Dibling    schedule 17.04.2009

Я видел презентацию ccons в демонстрационном лагере CUSEC еще в Январь. Его цель - предоставить интерактивный интерпретатор, такой как Python. Тогда он был на начальной стадии, но тем не менее произвел на меня впечатление.

person C-o-r-E    schedule 29.05.2009