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

企业网站设计费做哪个科目/yoast seo

企业网站设计费做哪个科目,yoast seo,做微网站的第三方登录,wordpress上传文件按标题(一)为什么要编写Makefile我们自己平常在linux下编译源文件时,当然可以使用gcc -Wall -g main.c -o main这样的命令一个一个编译,但是一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中&#xff0…

(一)为什么要编写Makefile

 我们自己平常在linux下编译源文件时,当然可以使用gcc -Wall -g main.c -o main这样的命令一个一个编译,但是一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,我们一个个编译是极其花费时间的,也是不可取的。

makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。

makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。

(二)Makefile的基本规则
 Mackfile基本规则
Target ...: Dependencies ...
Command ...
说明:
1)目标(TARGET):即最终想要产生的文件,如:可执行文件,目标文件或中间文件等;目标也可以是要执行的动作,如clean,也称为伪目标(用.PHONY指定伪目标)。
2)依赖(DEPENDENCIES):为了产生目标文件而依赖的文件列表,一个目标通常依赖于多个文件。
3)命令(COMMAND):是make执行的动作(shell命令或是可在shell下执行的程序,如echo)。注意:每个命令行的起始字符必须为TAB字符!
如果DEPENDENCIES中有一个或多个文件更新的话,COMMAND就要执行,这就是Makefile最核心的内容。
(三)简单Makefile的编写
1.单级目录下的Makefile编写

    我们只需要使用vi Makefile命令创建一个新的Makefile文件,等我们编写好后,只需要使用make 命令就可执行编译操作。这里我们创建两个.c文件,使用他们生成目标文件:

[cpp] view plaincopy
  1. .PHONY:clean  
  2. OBJECTS=01.o 02.o  
  3. main:$(OBJECTS)  
  4.     gcc -Wall -g $^ -o $@  
  5. 01.o:01.c  
  6.     gcc -Wall -g -c $< -o $@  
  7. 02.o:02.c  
  8.     gcc -Wall -g -c $< -o $@  
  9. clean:  
  10.     rm -f main $(OBJECTS)  
上面是相对简练的写法,我们一个个来解释:
1.使用变量来代替01.o 02.o ,方便后文使用。
2.使用自动化变量简化一些操作
$@ 规则的目标文件名
$< 规则的第一个依赖文件名
$^ 规则的所有依赖文件列表
3.使用make clean 命令即可执行删除操作
2.多级(二级)目录生成可执行文件的Makefile的编写
01 02 文件夹下分别有01.c 02.c ,并且和文件夹同级目录的有03.c,main是由这三个.c文件共同生成的,如何编写?

[cpp] view plaincopy
  1. .PHONY:clean all  
  2. CC=gcc  
  3. CFLAGS=-Wall -g  
  4. BIN=main  
  5. SUBDIR=$(shell ls -d */)          
  6. ROOTSRC=$(wildcard *.c)  
  7. SUBSRC=$(shell find $(SUBDIR) -name '*.c')  
  8. SUBOBJ=$(SUBSRC:%.c=%.o)  
  9. $(BIN):$(ROOTOBJ) $(SUBOBJ)  
  10.     $(CC) $(CFLAGS) $(ROOTOBJ) $(SUBOBJ) -o $(BIN)  
  11. .c.o:  
  12.     $(CC) $(CFLAGS) -c $< -o $@  
  13. clean:  
  14.     rm -f *.o $(BIN) $(ROOTOBJ) $(SUBOBJ)  
1.SUBDIR=$(shell ls -d */) 使用shell命令,将当前目录下所有的子目录赋给SUBDIR
2.ROOTSRC=$(wildcard *.c) ROOTSRC代表当前目录下符合匹配模式的所有文件
3.SUBOBJ=$(SUBSRC:%.c=%.o) 生成.c对应的.o文件
以上就是这三个内嵌函数的使用方式。
3.多级(二级)目录下生成多个可执行文件
紧接上例,01文件下生成01可执行文件,02文件夹下生成02可执行文件,要求使用Makefile一个make命令完成。
这就需要我们在每个文件夹下编写自己的Makefile文件,最后使用文件夹目录的Makefile完成操作。

[cpp] view plaincopy
  1. 01文件夹下的Makefile  
  2. CC  =gcc  
  3. BIN =01  
  4. OBJS =01.o  
  5. .PHONY: all clean print  
  6. all:print $(BIN)  
  7. print:  
  8.     @echo "----make all in $(PWD)-----"  
  9. #$(BIN):$(OBJS)  
  10. #   $(CC) $(OBJS) -o $@  
  11. %.o:%.c  
  12.     $(CC) -c $<  
  13. clean:  
  14.     @echo "----make clean in $(PWD)---"  
  15.     rm -f $(BIN) $(OBJS)  
[cpp] view plaincopy
  1. 02文件夹下的Makefile  
  2. (这里02文件夹下为.cpp文件)  
  3. CXX =g++  
  4. BIN =02  
  5. OBJS =02.o  
  6. CPPFLAGS =-Wall -g  
  7. .PHONY: all clean print  
  8. all:print $(BIN)  
  9. print:  
  10.     @echo "-----make all in $(PWD)----"  
  11. $(BIN):$(OBJS)  
  12.     $(CXX) $(CPPFLAGS) $(OBJS) -o $@  
  13. %.o:%.cpp  
  14.     $(CXX) -c $<  
  15. clean:  
  16.     @echo "----make clean in $(PWD)----"  
  17.     rm -f $(BIN) $(OBJS)  
[cpp] view plaincopy
  1. 文件夹同级目录下的Makefile文件  
  2. SUBDIRS =01 02  
  3. .PHONY:default all clean $(SUBDIRS)  
  4. default:all  
  5. all clean:  
  6.     $(MAKE) $(SUBDIRS) TARGET=$@  
  7. $(SUBDIRS):  
  8.     $(MAKE) -C $@ $(TARGET)  

上面两个很好理解,最后的这个Makefile文件中,$(MAKE)代表make命令,TARGET默认是第一个即all$(MAKE) -C(大写)代表进入到01 02Makefile中,执行参数为TARGET的操作。


当我们执行make clean时,TARGET即为clean


更深入的内容请参考:http://blog.csdn.net/haoel/article/details/2886/

http://www.jmfq.cn/news/5219371.html

相关文章:

  • 大连网站开发建站/哪家网络公司比较好
  • 网站建设信息/青岛网站建设公司排名
  • 南京个人做网站/福州短视频seo公司
  • 深圳网站开发培训/泰安seo网络公司
  • 怎样查看一个wordpress网站插件/小红书seo排名优化
  • wordpress 用户前台/百度seo优化排名软件
  • 沈阳网站建设服务器/百度网页翻译
  • jetpack by wordpress/南宁seo优化公司排名
  • 企业建设网站网站建设公司/重庆seo点击工具
  • 自己怎么做拼单网站/百度查看订单
  • 装修公司加盟哪个好/seo网站排名优化公司哪家
  • 网站APP注册做任务/吴中seo页面优化推广
  • 怎么去掉网站首页尾缀/市场营销的八个理论
  • 电子政务与网站建设 总结/国际最新消息
  • 企业网站案例展示/长沙网站制作推广
  • 柳州做网站哪家好/网络推广十大平台
  • 如何给网站死链接做404/百度搜索关键词排行榜
  • 清远做网站seo/商丘seo排名
  • 顺德网站建设合理使用颜色搭配_方能达到最佳视觉效果/慈溪seo排名
  • 彩票网站的统计怎么做/小程序开发软件
  • 网站索引量下降/论坛推广
  • 亚洲做性自拍视频网站/经典营销案例100例
  • 后台网站地图/网站建设网站推广
  • 百度云平台建设网站/百度推广官方网站登录入口
  • 网站建设项目策划/百度指数需求图谱
  • 网站开发维护工作/人教版优化设计电子书
  • wordpress woo theme/广州关键词优化外包
  • 湖南网站建设的公司排名/seo关键词优化外包公司
  • 代刷网网站怎么做/免费的网站推广在线推广
  • 网站建设协议/中国新闻网最新消息