В настоящее время я встраиваю lua в свой код на C ++.
Интересно, возможно ли то же самое с c ++. Таким образом, я могу передавать объекты и использовать библиотеки в скрипте. для этого, я думаю, мне понадобится следующее из основного кода C ++:
Это возможно? маленький пример?
Для меня это полезно, так как я запустил научный расчет, который я не хочу останавливать, но хочу добавить функциональность на лету. Я также считаю, что это полезно для серверов в C ++, которые не хотят выключаться, но хотят внести изменения.
Вы можете использовать какой-то интерпретатор C ++, но они не могут делать все. C ++ — один из самых сложных для реализации (если не так сложных) языков. Просто подумайте о макросах, шаблонах и обо всех других вещах, которые делают C ++ настолько мощным, насколько мы знаем, что их действительно сложно анализировать и понимать, и помимо всего этого у нас есть оптимизация, которая создает для нас такие быстрые и тонкие коды, так как интерпретатор может быть такой мощный и все это понимаешь? Даже самые известные компиляторы могут не понимать весь стандарт или, по крайней мере, иметь ошибки для понимания сложных кодов C ++. В одном из моих проектов, где интенсивно используются шаблоны с использованием MSVC 2010, компиляция кода занимает около 10 минут! Таким образом, интерпретаторы обычно упрощают свою задачу и поддерживают только подмножество полного C ++, поэтому, если вы не против, используйте некоторый интерпретатор. Я никогда не использовал один из них, но я слышал cint
это хорошо.
Другой вариант, у вас есть бесплатный компилятор, как g++
и на самом деле скомпилировать ваш код в какую-то разделяемую библиотеку, а затем динамически загрузить ее и вызвать из нее некоторые функции, основываясь на какой-то конфигурации.
Других решений пока нет …