有没有办法从python编译ac/c ++程序?

jua*_*982 1 c c++ python compilation

目前我正在编写一个python脚本,以下列方式编译C/C++ Linux内核:

subprocess.check_call(["make", "-j5"])
subprocess.check_call(["make", "-j5", "modules_install"])
subprocess.check_call(["make", "-j5", "install"])
Run Code Online (Sandbox Code Playgroud)

使用这些方法,命令在shell中执行.所以我想知道是否有另一种方法可以在库中使用python build来编译内核?

mgi*_*son 7

最终,python不是C/C++编译器,因此您需要将编译发送到外部程序(例如gcc).所以,没有办法在python中完全做到这一点.

请注意,这里python不会产生任何shell(尽管make可能).您可以尝试重现make完全在python中完成的内容(有一个用python FWIW 编写的make版本),但老实说,它不值得.无论如何,你需要产生子进程 - 你也可以使用已经存在的工具并"尝试并且真实".