这里有解释型语言,比如Lisp,Tcl,Perl等,它们可以在运行期间在代码中定义一个lambda / proc / sub,并在同一个会话中进行评估.
那里有一些编译语言,比如C,它会比解释的执行得快很多,但是在运行时和编译程序之间定义一个函数并不容易,如果可能的话.
这里的问题是执行以下操作:
>在运行时定义一个函数:例如,基于初始输入数据导出数据的分析模型.
>在循环中快速执行上述函数:例如,应用导出的分析模型来分析输入数据.
我看到的一个解决方案不是很漂亮:
>基于初始输入数据,在嵌入式Tcl中导出代表分析模型的过程.
>通过评估Tcl中的一个采样点阵列的过程创建了一个查找表,乐观地说,它将涵盖适用范围.
>查找表从Tcl解释器传递回二进制(在C中开发).
>然后通过在查找表中的“足够近”的值之间进行插值来分析输入数据.
上述解决方案有效,但在概念和计算方面都有很多问题.因此,问题是:是否可以在C中定义一个函数,并使其可在相同的运行时会话中执行?