问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

5分钟理解make/makefile/cmake/nmake

发布网友 发布时间:2024-09-29 21:44

我来回答

1个回答

热心网友 时间:2024-12-04 08:00

你是否对make、cmake、makefile等概念感到困惑?不妨阅读以下内容,或许能帮助你理清这些概念。

首先,gcc是GNU Compiler Collection,即GNU编译器套件,可以编译多种编程语言,如C、C++、Objective-C、Fortran、Java等。

当程序只有一个源文件时,可以直接用gcc命令编译。但若程序包含多个源文件,手动编译变得混乱且费时,这时make工具应运而生。

make工具是一个智能的批处理工具,它本身不具备编译和链接功能,而是通过调用makefile文件中的命令来进行编译和链接。

makefile就像一首歌的乐谱,make工具则像是指挥家,根据乐谱指挥整个乐团演奏。makefile中包含了调用gcc(或其他编译器)编译源文件的命令。

对于大型工程,手动编写makefile非常麻烦,这时cmake工具登场。cmake可以自动生成makefile文件,并且支持跨平台生成对应平台的makefile。

cmake根据CMakeLists.txt文件(组态档)生成makefile。CMakeLists.txt文件需要程序员自己编写。

nmake是Microsoft Visual Studio中的附带命令,相当于linux的make。

总结一下大体流程:首先编写源代码,如.c文件;然后使用编译器编译代码生成目标文件,如.o;最后用链接器连接目标代码生成可执行文件,如.exe。

对于大量源文件,make工具可以帮助批处理编译,而cmake工具则可以自动生成makefile,减轻程序员负担。

在编程世界中,没有捷径可走,需要脚踏实地。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怀孕四个月补钙可以吗 孕妇吃什么时候钙片好 孕妇吃什么钙片最好 怀孕补钙是必须的吗?孕妇钙片品牌哪个好? ...在长高的黄金发育时期,会影响容貌五官的变化吗,不仅没有发育到变... 冬至吃饺子的诗词 立冬吃饺子的暖心诗词 宁波全封闭学校有哪些 宁波市北仑区小港镇会计学校在那? 或红联镇也可以 江南教育集团小港中心幼儿园园况介绍 红联哪里有报暑假班 在违章查询助手里处理了违章罚款,交通大队没有收到扣款信息,? 和平精英好友上线提醒在哪设置 第一时间了解上线好友 蓝雪花的养殖方法 注意五个要点让蓝雪花爆盆 谷草转氨酶和谷丙转氨酶都高是不是肝癌 欧拉r1和元新能源哪个更适合代步? 性价比更高? 有哪些好用省心,销量也不错的电动车推荐,欧拉R1好开吗? ...8万买一台代步用的电动车,怎么选最划算?买欧拉R1值吗? 知豆d3和欧拉R1哪一款性价比更高? 现在买电动车,买什么价位的比较好呢?长城欧拉的车值得买吗?_百度知 ... 7万左右买台电动代步车,看中奇瑞eQ1和欧拉R1,选哪个好? 华为蓝牙耳机为什么连不上设备呢? 口罩定型棉是什么材料 定型棉和高密度棉有什么区别 硬质面和定型棉的区别 定型棉是什么意思? 棉布在染厂里染机缸出来后发现棉布很脆 相城区手拎袋制作纸样 嘉定区手提袋价格 奥驰A系,大家都搭载的什么发动机,玉柴还是云内?平时主要拉个两三吨的... ...5.2米玉柴130马力发动机,扭矩340,平时拉个6-7吨,偶尔8-9吨,能拉动... 黑脸娃娃有什么后遗症 黑脸娃娃美容有什么副作用 黑脸娃娃副作用有哪些 梦见梦里采了几朵蓝色小花 梦见澜沧荛花的预兆 这是我2011年支付宝账单的一部分,图中的那个代付是指什么,是我帮别人付... 江苏自考人力资源管理专业介绍 江苏自考哪个学校 双11跨店满减是全店商品都参加么? 天猫双11跨店满减抵扣范围 广西大学有什么二本专业 Esp8266学习5. 红外信号收发实验 手把手教你玩转ESP8266(原理+驱动) 膝盖里面会响怎么回事 梦见地震怎么回事 梦见地震怎么回事儿? 一般快递损坏了怎么索赔 查找我的iphone为什么查看不到地址 查找我的iPhone一直显示正在查找位置是什么意思? 常州市第九艺术软件科技有限公司的技术部简介 那天骂了老公不理我了,他说心寒了,我该怎么挽回