编译命令make、make -j4和cmake的区别
002、make表示编译
批量执行编译文件makefile中的指令。
002、make -j4
-j
(表示 job 的数目)参数可以对项目在进行并行编译。
make -j4,让make 最多允许 4 个编译命令同时执行,这样可以更有效的利用 CPU 资源。
由此看来,在多核 CPU 上,适当的进行并行编译还是可以明显提高编译速度的。但并行的任务不宜太多,一般是以 CPU 的核心数目的两倍为宜。
003、cmake
我们在安装Ubuntu软件时,有时我们会用到make和cmake命令。所以在这篇文章我们来讲 解一下,make命令和cmake命令他们的作用,以及什么关系和区别。 首先假设你有一定的计算机基础,能够理解源代码和可执行文件的区别,如果这两个名词你不 懂,可以看我写的《C语言从入门到不放弃》的序论,或者直接上网搜索。
OK,gcc简单的来说,它就是Linux平台的一个编译器,当然,它还有其它的平台。我们可以 使用gcc来编译我们的(C、C、Object-C等等),比如我们这里有一个文件, hello_world.c,它是用来在标准输出打印一行"hello world"程序的源代码,这个时候我们就 可以使用: gcc hello_world.c 便可以生成一个a.out的可执行文件。 可是,我们的程序有时候可能不是一个单一的源文件,当我们的项目是一个很大的工程时,用 gcc命令逐个编译,可能一不小心就会出错。类似于shell脚本,就出现了make工具。 make工具通过调用makefile文件中的命令便可以对大型程序进行编译,而makefile文件中就 包含了调用gcc去编译多个源文件的命令。 但是,很快又出现了一个问题,如果我们的程序是跨平台的,如果换个平台makefile又要重新 修改,这会很麻烦,所以就出现了cmake这个工具,通过cmake我们就可以快速创建出不同平 台的makefile文件。 而cmake又是根据CMakeLists.txt来生成makefile文件,这里你可能觉得有点儿绕,我来总结 一下,就是为了编译一个大型程序,你首先编写CMakeLists.txt。然后,通过cmake命令就可 以生成makefile文件。然后通过make命令就可以使用这个makefile文件从而生成可执行文 件。
01、xxx → CMakeLists.txt
02、cmake CMakeLists.txt → makefile
03、make makefile→ 编译安装。
。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2022-07-17 linux 中shell统计fasta文件中每条染色体上的碱基数目
2022-07-17 linux shell统计 fasta文件中每条染色体上的碱基数
2022-07-17 linux 中删除匹配特定字符的行及其后的若干行
2022-07-17 linux 中 sed命令匹配特定字符之间的数据
2022-07-17 linux 中 sed匹配特定字符并输出其后的若干行
2021-07-17 linux系统中如何删除^M
2021-07-17 linux系统中实现文件指定列的互换