-2

目标:exec()使用与python 中的函数相当的某种函数执行一串c(++)代码。

python中的示例:

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

问题:

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

4

3 回答 3

2

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

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

为什么

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

于 2019-12-11T09:39:05.413 回答
1

好吧,从技术上讲,你(也许)可以。但这并不是一个合理的努力,还有其他脚本语言可以集成到 C++ 中。例如卢亚。想一想,如果您有方法,以下方法可以工作int excuteCode(std::string code)

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

对于系统命令...?

于 2019-12-11T09:34:29.040 回答