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

北京网站建设好游戏推广赚佣金平台

北京网站建设好,游戏推广赚佣金平台,搭建国外网站的步骤,怎样建网站才赚钱一、gcc 的缺点 gcc -o test a.c b.c我们具体分析:gcc -o test a.c b.c这条命令 它们要经过下面几个步骤: 1)对于a.c:执行:预处理 编译 汇编 的过程,a.c >xxx.s >xxx.o 文件。2)对于b.c…

一、gcc 的缺点

gcc -o test a.c b.c

我们具体分析:gcc -o test a.c b.c这条命令
它们要经过下面几个步骤:

  • 1)对于a.c:执行:预处理 编译 汇编 的过程,a.c ==>xxx.s ==>xxx.o 文件。
  • 2)对于b.c:执行:预处理 编译 汇编 的过程,b.c ==>yyy.s ==>yyy.o 文件。
  • 3)最后:xxx.oyyy.o链接在一起得到一个test应用程序。

提示:gcc -o test a.c b.c -v :加上一个**‘-v’**选项可以看到它们的处理过程。

第一次编译 a.c 得到 xxx.o 文件,这是很合乎情理的, 执行完第一次之后,如果修改 a.c 又再次执行:gcc -o test a.c b.cb.c 又会重新编译一次,这完全没有必要,b.c 根本没有修改,直接使用第一次生成的 yyy.o 文件就可以了。

缺点:对所有的文件都会再处理一次,即使 b.c 没有经过修改,b.c 也会重新编译一次,当文件比较少时,这没有没有什么问题,当文件非常多的时候,就会带来非常多的效率问题如果文件非常多的时候,我们,只是修改了一个文件,所用的文件就会重新处理一次,编译的时候就会等待很长时间。

对于这些源文件,我们应该分别处理,执行:预处理 编译 汇编,先分别编译它们,最后再把它们链接在一次,比如:

编译:

gcc -o a.o a.c
gcc -o b.o b.c

链接:

gcc -o test a.o b.o

比如:上面的例子,当我们修改a.c之后,a.c会重现编译然后再把它们链接在一起就可以了。b.c
就不需要重新编译。



二、Makefile的引入及规则

makefie最基本的语法是规则,规则:

目标 : 依赖1 依赖2 ...
[TAB]命令

当“依赖”比“目标”新,执行它们下面的命令。我们要把上面三个命令写成makefile规则,如下:

//test是目标,它依赖于a.o b.o文件,一旦a.o或者b.o比test新的时候,
//就需要执行下面的命令,重新生成test可执行程序。
test :a.o b.o  gcc -o test a.o b.o//a.o依赖于a.c,当a.c更加新的话,执行下面的命令来生成a.o	
a.o : a.c  gcc -c -o a.o a.c//b.o依赖于b.c,当b.c更加新的话,执行下面的命令,来生成b.o
b.o : b.c  gcc -c -o b.o b.c

a.o和a.c 来举例,分为两种情况:

  1. 如果目标文件a.o还不存在,那么a.o.time = 0 < a.c.time ,说明a.c比a.o新,会执行:
gcc -c -o a.o a.c
  1. 如果目标文件 a.o 和 依赖文件a.c 都存在,此时却重新修改了a.c。那么a.o.time < a.c.time ,说明a.c比a.o新,就会执行:
gcc -c -o a.o a.c

优点:

  • 如果修改a.c ,我们再次执行make,它的本意是想生成第一个目标test应用程序,它需要先生成a.o,发现a.o依赖a.c(执行我们修改了a.c)发现a.c比a.o更加新,就会执行 gcc -c -o a.o

  • a.c命令来生成a.o文件。b.o依赖b.c,发现b.c并没有修改,就不会执行gcc -c -o b.o

  • b.c来重新生成b.o文件。现在a.o b.o都有了,其中的a.o比test更加新,就会执行 gcc -o test a.ob.o 来重新链接得到test可执行程序。

所以当执行make命令时候就会执行下面两条执行:

gcc -c -o a.o a.c
gcc -o test a.o b.o



Makefile的语法

通配符

假如一个目标文件所依赖的依赖文件很多,那样岂不是我们要写很多规则,这显然是不合乎常理的

我们可以使用通配符,来解决这些问题。

我们对上节程序进行修改代码如下:

test: a.o b.o gcc -o test $^%.o : %.cgcc -c -o $@ $<
  • %.o:表示所用的.o文件

  • %.c:表示所有的.c文件

  • $@:表示目标

  • $<:表示第1个依赖文件

  • $^:表示所有依赖文件

执行:

make

结果:

gcc -c -o a.o a.c
gcc -c -o b.o b.c
gcc -o test a.o b.o 
http://www.yidumall.com/news/58799.html

相关文章:

  • 自己做的网站如何赚钱吗如何制作网页广告
  • 网站地图百度广告联盟收益
  • 想自己搞一个视频网站怎么做网络平台推广广告费用
  • 网络运维工程师实习报告宁波关键词优化企业网站建设
  • 网站子栏目设计单页应用seo如何解决
  • 制作钓鱼网站化妆品营销推广方案
  • 装潢公司网站源码php全国疫情高峰感染进度查询
  • 网站建设选方舟网络无锡百度推广公司哪家好
  • 免费电子商务网站建设网站推广网
  • 广州做网站平台百度上怎么发布信息啊
  • 企业所得税税负率seo点击排名软件营销工具
  • 网站建设人力调配范文正规引流推广公司
  • 上线了相同网站服务网站排名咨询
  • 室内设计师培训班靠谱吗网站优化推广价格
  • 怎样建设美食网站专业营销团队公司
  • 橙子源码网南昌seo优化公司
  • 自建网站餐饮服务提供者seo综合查询工具
  • 毕业设计做网站lowapp推广拉新工作可靠吗
  • 制作收款网站百度竞价点击一次多少钱
  • 做商城网站价格关系网站优化公司
  • 阿里云需要网站建设方案书网络推广专员是做什么的
  • 网站修改影响做百度竞价吗快排seo
  • 二级建造师兼职网seo网络推广案例
  • 郑州手机网站设计手机优化专家下载
  • 家具网站建设公司营销策略
  • 网站建设哪家服务态度好seo排名优化联系13火星软件
  • 个人建站的app哪里有卖网页设计模板网站免费
  • 服装网站建设策划书seo网站优化培训班
  • 做胃肠科医院网站费用网络营销推广策划案例
  • 咨询公司成本费用包括哪些内容seo外链专员工作要求