1

目前,我正在编写一个 python 脚本来编译 C/C++ Linux 内核,方法如下:

subprocess.check_call(["make", "-j5"])
subprocess.check_call(["make", "-j5", "modules_install"])
subprocess.check_call(["make", "-j5", "install"])

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

4

1 回答 1

7

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

请注意,这里 python 不会产生任何 shell(尽管make可能)。您可以尝试make完全在 python 中重现什么,(有一个用 python FWIW 编写的 make 版本),但老实说,这不值得。无论如何,您都需要生成子流程——您不妨使用已经到位且“经过验证的”工具。

于 2013-05-02T01:26:15.607 回答