美文网首页
python中的“build”是什么?Cmake的makefil

python中的“build”是什么?Cmake的makefil

作者: Co酱_秋乏术 | 来源:发表于2023-01-18 13:34 被阅读0次

    因为python的运行速度慢,所以很多python库采用C语言实现,C语言也是要经过编译(build)才能执行。

    那么有两个情况,第一个是作者编译好了,打包好,那么就是pip install那种。

    还有一个是作者提供源代码,你自己编译、安装。

    需要源代码自己编译安装有两种情况:

    (1)你需要修改源代码,修正某个bug,或者添加/修改功能

    (2)你的硬件是预编译的包不支持的,假设作者的预编译包只支持x86,而你希望在一个树莓派(ARM cpu)上运行,就要自己编译。


    Cmake

    【总结:Cmake是生成makefile的一个工具,读入所有源文件之后,自动生成makefile。对其使用make指令后,自动编译成可执行文件(如.exe)】

    CMake是一个跨平台的编译(Build)工具,可以用简单的语句来描述所有平台的编译过程。CMake能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。

    CMake 不仅可以编译源代码、制作程序库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake 支持 in-place 建构(二进档和源代码在同一个目录树中)和 out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake 也支持静态与动态程式库的建构。

    “CMake”这个名字是“cross platform make”的缩写。CMake和Unix上常见的“make”系统是分开的,而且更为高阶。

    CMake主要有两大功能:

    1、配置和生成各大平台的工程(vs的vcxproj,Qt的Pro):

    比如设置输出目录,设置编译对象的debug后缀,设置源码在工程中的那个文件夹(Filter),配置需要依赖的第三方的头文件目录,库目录等等属性。

    2、生成makefile文件(makefile的好处——“自动化编译”,写好后只需要一个make命令,就完全自动编译)

    计算机编译源文件的时候是一条指令一条指令的发送给编译器执行的,这样效率很低下,所以就产生了一种文件,把所有的命令写到一个文件中,这个文件就是makefile。CMake生成了makefile之后,各大平台编译器都会拿到这个makefile然后解析它。将他的命令解析出来一条一条执行。

    相关文章

      网友评论

          本文标题:python中的“build”是什么?Cmake的makefil

          本文链接:https://www.haomeiwen.com/subject/etxfhdtx.html