python - 你能在 Python 脚本中编译 C++ 吗?

标签 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++ 代码?

最佳答案

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

关于python - 你能在 Python 脚本中编译 C++ 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59277739/

相关文章:

许多目录中的 C 程序编译有延迟

c++ - 如何缩短巨大 bool 表达式的编译时间?

python - 用Python播放音频的简单方法

c++ - Qt GUI 数学应用程序在计算时挂出 GUI

Python:Image.frombytes() 参数

c++ - 如何在 Linux 上使用 DLL 编译 Windows 应用程序

C++ Vector of template class, 多态性

c - 如何使用 GCC 在 C 上编译库?

python - 无法更改系统默认的 SQLite 二进制文件

python - Pandas 数据框行操作