c – 根据需要组装一个功能,并快速计算

前端之家收集整理的这篇文章主要介绍了c – 根据需要组装一个功能,并快速计算前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这里有解释型语言,比如Lisp,Tcl,Perl等,它们可以在运行期间在代码中定义一个lambda / proc / sub,并在同一个会话中进行评估.

那里有一些编译语言,比如C,它会比解释的执行得快很多,但是在运行时和编译程序之间定义一个函数并不容易,如果可能的话.

这里的问题是执行以下操作:

>在运行时定义一个函数:例如,基于初始输入数据导出数据的分析模型.
>在循环中快速执行上述函数:例如,应用导出的分析模型来分析输入数据.

我看到的一个解决方案不是很漂亮:

>基于初始输入数据,在嵌入式Tcl中导出代表分析模型的过程.
>通过评估Tcl中的一个采样点阵列的过程创建了一个查找表,乐观地说,它将涵盖适用范围.
>查找表从Tcl解释器传递回二进制(在C中开发).
>然后通过在查找表中的“足够近”的值之间进行插值来分析输入数据.

上述解决方案有效,但在概念和计算方面都有很多问题.因此,问题是:是否可以在C中定义一个函数,并使其可在相同的运行时会话中执行?

从概念上讲,是否有可能像一个字符串一样创建一个函数,在内存中进行编译,并以某种方式将其链接回正在执行的二进制文件

解决方法

如果你想要开箱即用的东西看看 ExprTK.如果你想自己写一个表达式解析器,看看 Boost Spirit.

一个替代方法是即时创建C代码,将其编译为共享库(插件)并在运行时加载它.这可能是最快的解决方案.

原文链接:https://www.f2er.com/c/112189.html

猜你在找的C&C++相关文章