Re[2]: Обработка введенного кода C++ во время выполнения при
От: hochucho  
Дата: 15.10.10 12:39
Оценка:
Здравствуйте, ShubinEV, Вы писали:

SEV>Здравствуйте, hochucho, Вы писали:


H>>Задача следующая: в приложении есть текстовое поле, во время выполнения приложения хотелось бы вводить в это поле код C++ (новые функции, объявлять переменные), чтобы потом, эти функции обрабатывались численными методами.

H>>С чего начать, где почитать?

SEV>В программу можно встроить интерпретатор скриптового языка. Можно вызывать shell функцией system.

SEV>Если нужны функции и т.д. лучше Python. Есть библиотек Boost.Python, но можно и без нее обойтись.
SEV>С C++ сложнее — это компилируемый язык. Возможность в runtime компилировать новый код есть, но как его подлинковать к запущенной программе
SEV>человечеству неизвестно. Можно даже перелинковать приложение и перезапуститься, но
SEV>1) это врядли то, что вам требуется;
SEV>2) это жуткий изврат.

SEV>PS. Забыл, можно воспользоваться динамическими библиотеками (подгружать их во время исполнения).

SEV>Но компилировать во время исполнения — такого ни разу не видел.

Спасибо.
С Python до сих пор не сталкивался.
Скажу пару слов, что в идеале должно получиться, чтобы понять, Python — это то, что нужно, или не стоит тратить время на его изучение, а для решения задачи выбрать другой путь.
В приложении создаются объекты, в которых создаются свои переменные (поддержка всех стандартных типов + векторы, матрицы), функции от этих переменных, в терминах этих переменных пишутся системы уравнений (как алгебраические, так и дифференциальные). Далее из этих объектов строим систему и решаем численные методы.
В принципе синтаксис написания функций может быть любой.

До сих пор не имел никакого понятия, как это все реализовать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.