python - 你能在 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++ 代码?
解决方案
该二进制文件将放在工作目录中,而不是 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()
推荐阅读
- matlab - 如何使用 exportdlg.m 将 MATLAB 中的图形导出到带有嵌入字体的 SVG?
- java - 在字符串字段上指定关键字类型
- json - 如何在 powershell 中编写此 json 有效负载
- java - 为什么迭代器打印哈希码不是实际值?
- javascript - 从匿名函数返回 JSON 或任何值 - AngularJS
- spring - 可完成的未来
状态码预期 - reactjs - Nuka-carousel 自定义箭头按钮
- c# - 将流写入文件和内存
- .htaccess - 将任何域从非 www 重定向到 www 和 HTTPS,无需双重重定向
- java - Java 8 转换地图
> 到地图 >