首页 > 解决方案 > 你能在 Python 脚本中编译 C++ 吗?

问题描述

我对 C++ 很陌生。我正在编写一个 Python 脚本来编译和调用一个 C++ 程序。编码:

system( "g++ -std=c++11 /home/my_program.cpp" )
system( "/home/a.out arg1" )

这似乎可以很好地执行 C++ 程序。

但是,当我对 C++ 程序进行更改并尝试运行我的 pythons 脚本时,更改似乎没有生效。C++ 代码的输出仍然与更改之前相同。

是否可以在 Python 中编译 C++ 代码?

标签: pythonc++compilation

解决方案


该二进制文件将放在工作目录中,而不是 C++ 文件旁边。向 g++添加一个-o参数以确保它写入相同的位置。当我使用输出选项自己尝试您的示例时,它工作得很好。

有关您问题的更字面解释,请查看 cppyy: https ://cppyy.readthedocs.io/en/latest/

import cppyy
cppyy.cppdef(r'void say_hello() { std::cout << "Hello!\n"; }');
cppyy.gbl.say_hello()

推荐阅读