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

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


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

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

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

最佳答案

该二进制文件将放置在工作目录中,而不是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()

10-08 14:36