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

二极管 东莞网站建设九一果冻制品厂最新电视剧红桃

二极管 东莞网站建设,九一果冻制品厂最新电视剧红桃,seo实战密码,安徽设计公司排名makefile简易教程 一、学习目标 达到多文件快速编译的需求#xff0c;相关符号的意思#xff0c;以及其它注意事项。 二、快速入门 2.1 基本概念 Makefile 是一个在Unix和Linux操作系统上使用的构建工具#xff0c;用于自动化编译和构建源代码。 2.2 用处 通过Makefi…makefile简易教程 一、学习目标 达到多文件快速编译的需求相关符号的意思以及其它注意事项。 二、快速入门 2.1 基本概念 Makefile 是一个在Unix和Linux操作系统上使用的构建工具用于自动化编译和构建源代码。 2.2 用处 通过Makefile你可以定义一系列规则来指示如何构建源代码以及定义每个规则所需要的依赖关系。Makefile也可以在构建过程中执行自定义命令例如清理旧的构建输出、运行测试等。 2.3 基本语法 目标文件:依赖文件指令 target: dependenciescommand其中target 表示构建目标例如可执行文件、库文件、对象文件等dependencies 表示构建目标所依赖的文件可以是其他目标或源代码文件command 表示构建目标的命令。注意command 前面必须有一个tab制表符。 例如 test:test.cgcc -o test test.c2.4 变量 Makefile还支持变量用于在不同规则之间共享常量或者路径等信息。变量的定义格式如下 VARIABLE_NAME variable_value示例 CC gcc CFLAGS -Wall -Werrorhello: hello.c$(CC) $(CFLAGS) -o hello hello.c在这个示例中CC 变量定义了编译器的名称CFLAGS 变量定义了编译器的参数。在构建hello目标时Makefile使用这些变量来执行编译命令。 2.5 构建多个目标 当有多个.c文件需要进行编译时可以这样构建makefile all: hello worldhello: hello.c$(CC) $(CFLAGS) -o hello hello.cworld: world.c$(CC) $(CFLAGS) -o world world.c在这个示例中all 是一个伪目标它依赖于hello和world。当我们运行make all时Make会自动构建hello和world目标。 注意all是一个伪目标它并不会生成任何文件。在Makefile中有一些特殊的目标例如all、clean等通常被定义为伪目标。 2.6 清理目标 Makefile还可以定义清理目标用于删除构建过程中生成的临时文件。例如 clean:rm -f hello world *.o在这个示例中clean 是一个伪目标它的命令会删除当前目录下的hello、world和所有.o文件。 2.7 .PHONY 在Makefile中.PHONY是一个特殊的目标用于声明一些伪目标phony target也就是那些不对应任何实际的文件或目录只是用来执行一些特定的操作的目标。 声明伪目标的方式很简单只需要在Makefile中添加以下语句 .PHONY: target1 target2 ...其中target1、target2等为伪目标的名称可以声明多个伪目标它们之间用空格分隔。 使用.PHONY声明伪目标的好处在于它可以避免出现一些潜在的问题例如 当伪目标与实际文件或目录同名时Makefile可能会将其误认为是一个文件或目录从而导致错误的行为。使用.PHONY可以显式地声明这些目标是伪目标避免这种情况发生。如果在命令行中执行make target时target已经存在并且其时间戳比依赖文件的时间戳更晚Makefile默认情况下不会重新构建target。但是如果target是一个伪目标那么即使时间戳较晚Makefile也会执行伪目标下的命令因为伪目标并不对应任何实际的文件或目录。 例如我们可以在Makefile中声明一个名为clean的伪目标用于清理项目中生成的临时文件和目录如下所示 .PHONY: cleanclean:rm -rf build/* bin/* 在命令行中执行make clean时Makefile会执行rm -rf build/* bin/*命令清理build目录和bin目录中的所有文件。 需要注意的是.PHONY目标本身并不会执行任何操作它只是用来声明伪目标。因此在Makefile中.PHONY目标通常放在文件的最前面或最后面以方便查看和维护。 2.8 $符号 在Makefile中和和和^等符号是自动化变量它们代表了不同的含义 $ 表示当前规则中的目标文件即被生成的文件名。$^ 表示当前规则中所有的依赖文件以空格分隔。 例如 makefileCopy code app: main.o utils.ogcc $^ -o $main.o: main.cgcc -c $ -o $utils.o: utils.cgcc -c $ -o $在上面的示例中我们定义了一个目标文件app它依赖于两个对象文件main.o和utils.o。在生成目标文件时我们使用将所有依赖文件都链接在一起使用^将所有依赖文件都链接在一起使用将所有依赖文件都链接在一起使用作为生成的目标文件名。同时我们还定义了两个规则分别用于生成main.o和utils.o文件在这里我们使用$代表当前规则中的第一个依赖文件即源代码文件名。 2.9 makefile与其它语言冲突 例如我在使用C语言连接MySQL数据库时使用到的编译选项中含有$()的字样然而makefile中这类字样指代某个变量所以产生冲突导致无法make成功。 可以将编译选项改为$$()双美元符号可以提示makefile需要显式调用的。 上述例子如下 .PHONY:all all:test_cgi mysql_conntest_cgi:test_cgi.ccg -o $ $^mysql_conn:mysql_conn.ccg -o $ $^ -stdc11 $$(mysql_config --cflags --libs).PHONY:clean clean:rm -f test_cgi mysql_conn
http://www.w-s-a.com/news/193473/

相关文章:

  • 郑州外贸网站建设公司排名网站设计做啥好
  • 网站开发合同付款比例wordpress调用指定文章内容
  • 湖北平台网站建设哪里好辽宁建设工程信息网官网平台
  • 公司优化是什么意思?洛阳seo博客
  • 普通建站网站首页制作模板
  • 江苏城乡与住房建设厅网站wordpress 添加导航
  • 免费单页网站在线制作网站制作与网站建设pdf
  • 网站开发使用云数据库技术教程大连模板开发建站
  • 佘山网站建设创造网站需要多少钱
  • 南海佛山网站建设网站维护需要什么技能
  • 阿里云服务器开源做几个网站想找公司做网站
  • 一般做网站是用什么语言开发的域名查询 查询网
  • 地方门户网站源码下载揭阳专业网站建设
  • 网站做优化好还是推广好wordpress百家号模版
  • 淘宝网网站建设的的意见校园微网站建设
  • 小说网站建设之前需求分析免费下载京东购物
  • 园林景观设计案例网站wordpress 文章内容页
  • 网站什么做才会更吸引客户楚雄网站开发rewlkj
  • 电商网站构建预算方案视频制作网站怎么做
  • 包装设计灵感网站ps软件下载电脑版多少钱
  • 手机网站图片做多大原网站开发新功能
  • 网站设计培训成都陕西网站建设公司哪有
  • expedia电子商务网站建设辽宁网站设计
  • 深圳网站建设网站运营绥芬河市建设局网站
  • 家政服务网站做推广有效果吗做图软件ps下载网站有哪些
  • 北京市建设教育协会网站flash网站制作单选框和复选框ui组件
  • 国外有没有做问卷调查的网站网站网页怎么做
  • 简单个人网站模板下载网站建设整体情况介绍
  • 网站建设做到哪些内容荆门网站建设电话咨询
  • 玉树网站建设公司双11主机 wordpress 2015