Генерация кода C ++ во время выполнения, компиляция и запуск - PullRequest
1 голос
/ 24 сентября 2010

есть ли мультиплатформенный компилятор c ++, который можно связать с любым программным обеспечением?

Допустим, я хочу генерировать код на С ++ во время выполнения, скомпилировать его и запустить Я ищу компактное решение (куча классов), предпочтительно лицензия LGPL / BSD:)

Насколько я знаю, это можно сделать на Java и c #. А как насчет с ++?

Ответы [ 6 ]

4 голосов
/ 24 сентября 2010

Я не знаю ни одного открытого кода для C ++, но если вы хотите небольшой и компактный сценарий и не зависаете на C ++ LUA может быть вариантом для вас

4 голосов
/ 24 сентября 2010

Ну может быть, один из модулей CLang поможет?Это еще не сухо на стороне C ++, но, конечно, скоро.

2 голосов
/ 24 сентября 2010

Я сделал это несколько лет назад в Linux, сгенерировав C ++ - код в файл, скомпилировав его с помощью команды execute (с помощью gcc), а затем динамически связав сгенерированную библиотеку. Динамическое связывание отличается, конечно, между платформами.

2 голосов
/ 24 сентября 2010

Я бы вообще отбросил C ++ и использовал бы Google V8 .Если вы хотите использовать C ++, потому что люди, использующие ваше приложение, знают только это, у них не должно возникнуть проблем с переходом на JavaScript.

И это чертовски быстро.И Javascript тоже классный язык.

1 голос
/ 21 декабря 2010

Когда мы изучали сценарии, мы выбрали AngelScript из-за сходства с C ++.V8 великолепен, но он определенно ограничен некоторыми платформами, AngelScript гораздо проще компилировать и, возможно, изучать (если вы пришли из C ++), и у него есть лицензия zlib.http://www.angelcode.com/angelscript/

1 голос
/ 24 сентября 2010

Подобные вещи намного сложнее в C ++, потому что язык не использует виртуальную машину (или "среду выполнения"), которая абстрагирует специфику машины.

Вы можете посмотреть на gcc, он находится под лицензией GPL IIRC, и порты существуют для всех основных платформ.

...