python 的 exec() 函数的 c++ 版本

c++ version of python's exec() functions

objective: 使用类似于 python.

中的 exec() 函数的某种函数执行一串 c(++) 代码

python中的示例:

exec('print("hello world")')
#out:
#hello world

问题:

python 中是否有 c++ 版本的 exec?

#include <iostream>
int main(void) {
    system("python -c \"print('hello world')\"");
    return 0;
}

对于系统命令...?

但是,python中是否有 exec 的 c++ 版本?

您想从字符串执行 C 语言语句!所以 c.

是不可能的

为什么

因为c是编译型语言,程序先编译后执行。 它可能在 python 作为它的解释语言,意味着程序是由 运行时的即时编译器。 希望这会有所帮助。

嗯,技术上,你(也许)可以。但这几乎不是一种合理的努力,还有其他脚本语言可以集成到 C++ 中。例如 Lua。想想看,如果你有一个方法 int excuteCode(std::string code)

,下面的方法可能会起作用
  1. 将该字符串复制到模板中,将其包装在某个函数中。以下是这样一个模板的想法:
int userFunc()
{
    %code%
}
  1. 将模板写入文件
  2. 从该文件构建动态库(例如 windows 上的 .dll)(通过 system 或 OS 特定方法调用编译器和链接器)
  3. 将动态库加载到您的 运行 程序中(同样,OS 特定方法)
  4. 加载所需的方法userFunc并执行它。