提问人:MOON 提问时间:9/17/2023 更新时间:9/17/2023 访问量:111
是否可以要求用户在 C++ 中提供函数定义?[已结束]
Is it possible to ask the user for a function definition in C++? [closed]
问:
假设我编写了一个程序,该程序最小化了 C++ 中的给定函数。 是否可以要求用户最小化函数,或者从磁盘上的文件中读取此类函数的定义,然后继续最小化它? 在代码项目本身中包含函数定义很容易,但每次我都必须再次编译代码。我想知道是否可以在编译后和从磁盘上的文件运行可执行文件期间读取函数定义。
答:
4赞
Ahmed AEK
9/17/2023
#1
如果函数是数学函数,那么你可以将其符号化地解析为抽象语法树,然后在运行时对其进行评估(查看 symengine 库)f = a*x+b
如果函数是一个编程函数,那么你要么需要一种脚本语言,如 lua、tcl 或 python 嵌入到你的可执行文件中,要么你需要一个 jit 编译器,比如 julia 中的编译器(也是可嵌入的)
最后,如果你可以在应用程序中附带一个 gcc 编译器,你可以将函数编译为 dll 并在运行时加载它,但这是最麻烦的。
评论