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

百度免费建立网站站长之家源码下载

百度免费建立网站,站长之家源码下载,wordpress文章调用函数,大连网站建设1000元makefile基本概念 Makefile 本质上是一个文本文件,它包含了一系列规则和指令,用于告诉构建工具(如 make)如何编译和链接程序,以及如何处理项目中的各种文件。其核心思想是通过定义目标(target)…

makefile基本概念

Makefile 本质上是一个文本文件,它包含了一系列规则和指令,用于告诉构建工具(如 make)如何编译和链接程序,以及如何处理项目中的各种文件。其核心思想是通过定义目标(target)、依赖关系(dependencies)和生成目标的命令(commands),来实现项目的自动化构建。

makefile编写

makefile文件编写,就是要明确基础格式如下:

目标:依赖
(tab键)命令

举个具体的小例子:

main:main.c add.c
# 使用gcc编译器将main.c和add.c这两个源文件进行编译和链接操作,
# 最终生成一个名为main的可执行文件。gcc -o main main.c add.c

严格按照上述的基础格式写,但是这里有一个问题:如果我们得更新add.c中的代码,相应的两个文件都得重新先.c文件编译生成.o文件,再由.o文件链接成linux操作系统的可执行文件,如果一个大工程有上百个文件这样的代码处理起来太过于冗余。所以我们可以把每个文件的编译过程拆开。

第一版本

main:main.o add.o# 链接命令,将 main.o 和 add.o 链接生成可执行文件 maingcc main.o add.o -o main
main.o:main.c# 编译命令,将 main.c 编译为目标文件 main.ogcc -c main.c -o main.o
add.o:add.c# 编译命令,将 add.c 编译为目标文件 add.ogcc -c add.c -o add.o

上述写法,当更新 add.c 文件时,确实能够更智能地处理编译和链接过程,避开第一个版本的一些缺点,就不必重复重新执行gcc -c main.c -o main.o这条指令。

但是,Makefile有相应的语法规则,帮助我们写出更加简洁的代码;
比如,

  1. 我们可以自定义变量,a = b,$(a)来替代b;
  2. $<就对应着 “依赖文件列表” 中的第一个文件;
  3. $@就对应着"目标文件";
  4. gcc 可以用专门符号$(CC)表示;
  5. 而且类似的func.o: func.c这种.o和.c转换的语句太过于冗余,这里可以使用%.o:%.c去替代所有当前文件夹下.c文件编译得到.o文件
  6. $^表示当前规则的所有依赖文件,以空格分隔。如果依赖文件中有重复的,重复的文件只会出现一次。

所以根据上述规则,假设main用target代替,main.o add.o用object替换,我们可以得到下面的版本。

第二版本

 target=mainobject=main.o add.oCC=gcc$(target):$(object)$(CC)  -o $@ $^%.o:%c$(CC) -c $<

得到上述版本,已经非常简洁了,但是还是有个问题,我们想要得到的是Linux可执行文件main,中间还生成了.o文件,所以我们还可以更精益求精些,删除这些中间文件。

第三版本

 target=mainobject=main.o add.oCC=gcc$(target):$(object)$(CC)  -o $@ $^%.o:%.c$(CC) -c $< 
clean:rm -f $(object)

最后这个版本就可以利用简洁代码实现,main.c add.c文件编译链接生成可执行文件main,并且删除中间生成的冗余文件

http://www.yayakq.cn/news/995384/

相关文章:

  • 校园二手市场网站开发的意义wordpress qq回调地址
  • 网站完整模板网页布局技巧
  • 网站开发流程心得体会asp.net网站开发之美
  • 正版厦门网站设计公司洪梅仿做网站
  • 江苏建设标准网站莱芜建设局网站
  • 外贸在哪个网站做建立健康的人际关系
  • 怎么做网站的访问量在线做网站视频在线观看
  • 刮奖网站谷歌外贸网站
  • 中国设计网站导航高德地图国际版
  • 网站模板制作工具电子商城网站建设价格
  • 网站设计制作代码管理系统的设计与实现
  • 建设一个营销网站有哪些步骤传奇世界网页版星装
  • 做公司网站怎么做手机版中学网站建设方案计划
  • 网站策划建设阶段的推广网做英文网站
  • 佛山企业网站建设渠道广告代理
  • 查找网站备案信息php做网站技术方案
  • 商洛免费做网站公司wordpress 子页面 404
  • 个人网站界面设计图片html登录页面设计代码
  • 做个人网站要注意什么海口网站建设在线
  • 吃的网站要怎么做简单的网站设计开发
  • 没网站域名可以做备案吗买网站服务器要多少钱
  • 安卓手机做网站网站建设手机端pc端分开
  • 企业网站公司单位有哪些电商自学网
  • wordpress 引号 主题 remove_filter优化网站速度的要点
  • c 网站建设教程视频教程中国兰州网首页
  • 青岛建设企业网站哪个网站可以做c语言的题
  • 营销型网站关键词多少为好北京城乡建设官方网站
  • 景县做个油管的网站怎么做上海网架公司
  • 外贸企业网站制作fqapps com网站怎么做
  • 邯郸网站建设怎么做服务号wordpress