Python 的 exec() 函数的 C++ 版本

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

本文关键字:C++ 版本 函数 exec Python      更新时间:2023-10-16

目标:使用某种类似于 Python 中exec()函数的函数执行一串 C(++( 代码。

Python 中的示例:

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

问题:

Python 中有 C++ 版本的 exec 吗?

但是,python中有C ++版本的exec吗?

你想从字符串中执行 C 语言语句!所以这在 C 中是不可能的。

为什么

因为C是编译语言,所以程序先编译后执行。 它可以在Python中作为其解释语言,意味着程序由 运行时的实时编译器。 希望这会有所帮助。

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

  1. 将该字符串复制到将其包装在某个函数中的模板中。以下是此类模板的想法:
int userFunc()
{
%code%
}
  1. >将模板写入文件
  2. 从该文件构建一个动态库(例如 Windows 上的.dll((通过system或特定于操作系统的方法调用编译器和链接器(
  3. 将动态库加载到正在运行的程序中(同样,特定于操作系统的方法(
  4. 加载所需的方法userFunc并执行它。
#include <iostream>
int main(void) {
system("python -c "print('hello world')"");
return 0;
}

对于系统命令...?