当前位置: 首页 > news >正文

【 linux 】认识make和makefile


目录

1. gcc编译器和条件编译

2.make和makefile


1. gcc编译器和条件编译

我们知道在运行一个程序时需要经过预处理,编译,汇编,链接生成可执行文件。预处理主要进行展开头文件,宏替换,条件编译,删除注释等操作。gcc是一种编译器,通过命令行的形式对文件进行操作。

gcc -E code.c -o code.i

编译会进行语法,语义分析并进行代码优化,并翻译成cpu架构可理解的汇编代码

gcc -S code.i -o code.s

汇编会将汇编指令翻译成二进制机器码,也就是机器可识别的代码

gcc -c code.s -o code.o

链接就是绑定一些动静态库文件。库是一套方法或数据集,提供接口和功能,如果我们的程序中使用了库中方法就要链接起来。在linux中动态库的文件.so结尾,静态库.a结尾。

gcc code -o code

条件编译怎么用

可以记住一点,预处理的本质就是对代码进行裁剪,类似于if条件语句,根据宏定义来对代码进行裁剪。

2.make和makefile

make是一个命令,自动读取makefile,按照规则进行编译,makefile是一个文本文件,写好了编译规则。两者搭配用于自动化编译c,c++项目。

myfile:myfile.c gcc myfile.c -o myfile _PHONY:clean clean: rm -f myfile

如果你文件改动了需要再次make进行更新操作,make分不清目标是文件还是命令,这就是_PHONY的作用,它是一个伪目标,代表不生成任何文件,只去执行。删除文件的操作就是make clean

http://www.zskr.cn/news/1416183.html

相关文章:

  • FastbootEnhance:告别复杂命令行,Windows上最直观的Android设备管理工具
  • 别再纠结了!RTL8367系列五款千兆交换机芯片怎么选?一张图帮你搞定(附硬件开发包获取)
  • 大数定律:只要时间足够长,离谱的事情一定会发生
  • 2000-2024年 县域年末金融机构贷款余额、金融机构储蓄存款余额数据 xlsx
  • 手把手教你学Simulink——电动汽车V2G(车网互动)双向DC-AC充电逆变器建模
  • 终极指南:如何用SleeperX彻底掌控Mac睡眠行为
  • Ant Design Pro v6.0.2 发布:升级 antd、新增 AI 辅助升级能力,多项功能改进
  • 猫抓浏览器扩展完全指南:告别网页资源获取烦恼
  • 2026年国内3大主流一物一码服务商对比:中大型快消选型权威测评报告 - 纳宝科技一物一码
  • 山东省 乳山市寄件省钱天花板!2026全国靠谱快递平台实测,低价寄件不踩坑 - 时讯资讯
  • 有什么软件可以去视频水印?四款小程序加桌面工具实测
  • 【数据分析】python-pandas速查文档(3)
  • 从零打造蓝牙遥控履带车:Arduino、3D打印与FPV系统全解析
  • Sora 2 AI主播生成全链路拆解:从提示词工程、语音驱动到唇形同步的7大关键技术突破
  • 选择题专练数据库原理精选30题
  • 2025泉州除甲醛公司Top5深度测评:绿舒环保稳居榜首 - 绿舒环保母婴除甲醛
  • 基于Raspberry Pi Pico W的Wi-Fi邮件报警系统设计与实现
  • Ubuntu 20.04 新手必看:刚装完系统,ifconfig和vim都用不了?5分钟搞定镜像源和常用工具安装
  • ZYZ28 2026.5.26 Round 记录
  • 专业开发者指南:使用pywencai高效获取同花顺问财金融数据
  • Go语言跨平台数据库开发:实现跨平台数据持久化
  • 选择题专练数据库原理精选30题[答案]
  • Arduino模拟信号控制实战:电位器PWM调控电机与LED
  • Arduino智能垃圾桶实战:超声波感应与舵机控制全解析
  • 产品设计思维转变:从功能堆砌到问题消除,提升用户体验与留存率
  • 深度解析DJI DroneID信号解码技术:从OFDM调制到完整解调实战指南
  • 爷青回!用Win10和家人在家联机《龙之崛起》的保姆级教程(附1.01宽屏版资源)
  • 5大技术革新重构缠论量化:ChanVis几何交易可视化系统
  • x3daudio1_7.dll 缺失导致游戏没声音或闪退?DirectX 音频组件这样查
  • 如何快速下载三星官方固件:Bifrost跨平台固件管理完整指南