Здравствуйте, 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 — это то, что нужно, или не стоит тратить время на его изучение, а для решения задачи выбрать другой путь.
В приложении создаются объекты, в которых создаются свои переменные (поддержка всех стандартных типов + векторы, матрицы), функции от этих переменных, в терминах этих переменных пишутся системы уравнений (как алгебраические, так и дифференциальные). Далее из этих объектов строим систему и решаем численные методы.
В принципе синтаксис написания функций может быть любой.
До сих пор не имел никакого понятия, как это все реализовать.