c++ - 将字符串解析为 C++ 中的一行代码

标签 c++ string plot cimg

是否有可能将字符串变量解析为 C++ 中的实际代码行?例如,这个字符串 "x=0" 能否被解析为实际代码并将 x(程序中的某个随机变量)的值设置为零?我打算用它做的是我想用 C++ 制作一个简单的绘图仪。用户输入函数(该函数将根据 xy 并将值为零)以绘制为字符串(如 2*y +x),然后将其转换为代码对象,然后使用循环进行相应的评估。

最佳答案

因为 C++ 是一种编译和链接的语言,所以它不适合即时评估。

但我通过 embedding a Python interpretter 实现了与您过去使用 C++ 的目标类似的目标。将 Python 代码作为字符串即时计算并将结果传递给 C++ 代码。

其他一些可以嵌入到 C++ 程序中的流行脚本语言是 LuaSquirrel .

在 Java 中,我通过嵌入 Groovy interpretter 来完成同样的工作.

您需要通过“嵌入”将脚本语言解释器集成到您的代码中,然后通过“marshaling”过程将值从脚本语言代码传递到您的 C++ 代码

如果您真的想要可以解释的 C++ 语法理论上可以为子集开发一个动态解析器​​和解释器语言,但 C++ 是一种复杂的语言,这样的任务将是一项艰巨的任务,充满困难,本质上是使用错误工具完成工作的情况。

关于c++ - 将字符串解析为 C++ 中的一行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27607281/

相关文章:

python - 流图错误 : Cannot convert float NaN to integer

python - 计算时间差,如果差值大于一个小时,标记为 'missing' ,在该区域的折线图中绘制差距

c++ - 用 C 字符串初始化 std::string 的奇怪方法

java - 如何创建一个相对路径来附加到在JAVA中不使用java.nio.file的URL?

c++ - 绘图框架

c++ - extern C 返回类对象

c++ - 使用 C++ 函数中的汇编器为循环编码

c++ - 错误 : type ‘class’ is not a direct base of ‘class’

C++ 对象的快速排序 vector

c - 不使用 for 循环打印矩阵