您可以在Python脚本中编译C ++吗?

时间:2019-12-11 01:37:18

标签: python c++ compilation

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

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

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

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

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

1 个答案:

答案 0 :(得分:2)

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