编程工具
独行Freedom
这个作者很懒,什么都没留下…
展开
-
Makefile编译程序
From:Makefile编译程序 - CSDN博客http://blog.csdn.net/ccj659/article/details/52789194 简单的说,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至可以在makefile中执行shell脚本。makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个m转载 2018-02-01 14:49:21 · 248 阅读 · 0 评论 -
变量与函数的综合示例
1、实战需求(1)自动生成target文件夹存放可执行文件; (2)自动生成objs文件夹存放编译生成的目标文件; (3)支持调试版本的编译选项; (4)考虑代码的扩展性。 2、工具原料 - $(wildcard_pattern)获取当前工作目录中满足_pattern的文件或目录列表; - $(addprefix _prefix, _names)给名字列表_names中的每...原创 2018-02-28 17:27:44 · 241 阅读 · 0 评论 -
make和makefile
问题:什么是make、makefile? 在面对成千上万个源代码文件时,我们应该怎样高效地进行编译?这时要借助一些编译的辅助工具,make就是这样的一种辅助工具。make是一个应用程序,有以下功能: (1)解析源程序之间的依赖关系; (2)根据依赖关系自动维护编译工作; (3)执行宿主操作系统中的各种命令。 makefile是一个描述文件(配置文件): (1)定义一系列的规则来指定源文...原创 2018-02-24 17:27:00 · 236 阅读 · 0 评论 -
初识makefile的结构
回顾一下上篇文章的内容,makefile的意义: 1. makefile用于定义源文件之间的依赖关系; 2. makefile说明如何编译各个源文件并生成可执行文件。1、依赖的定义targets : prerequisites ; command1 command2语法: (1)分号是将依赖和命令隔开; (2)冒号是将目标和依赖隔开; (3)命令可以写在下...原创 2018-02-24 20:25:01 · 346 阅读 · 0 评论 -
伪目标的引入
1、思考:makefile中的目标究竟是什么?默认情况下: (1)make认为目标对应着一个文件; (2)make比较目标文件和依赖文件的新旧关系,决定是否执行命令; (3)make以文件处理作为第一优先级。2、makefile中的伪目标(1)通过.PHONY 关键字声明一个伪目标; (2)伪目标不对应任何实际的文件; (3)不管伪目标的依赖是否更新,命令总是执行。2...原创 2018-02-25 15:31:28 · 225 阅读 · 0 评论 -
自动生成依赖关系
1、引例值得思考的问题:目标文件.o是否只依赖于源文件.c?编译器是如何编译源文件和头文件的? 解答:预处理器将头文件的代码直接插入源文件,编译器只通过预处理器的源文件产生目标文件。如果规则中以源文件为依赖,命令可能无法执行。因为在修改代码的时候有可能只改动了头文件,源文件没有被修改。如果规则中只是以源文件为依赖目标,Makefile里面某条规则的依赖并不比目标更新,因此命令不同执行,但其实...原创 2018-03-05 17:23:41 · 685 阅读 · 0 评论 -
Makefile中include的暗黑操作(总结)
Makefile中include关键字在使用的过程中有很多暗黑操作,下面进行一个总结。 (1)目标文件不存在则查找对应的规则并执行;如果规则中创建了目标文件,则将创建的目标文件包含进当前的Makefile; (2)目标文件存在则将目标文件包含进当前的Makefile,接着继续查找对应的规则并执行;如果规则中创建了目标文件,则将创建的目标文件重新包含进当前的Makefile; 可以发现,上...原创 2018-03-05 19:47:38 · 870 阅读 · 0 评论 -
Makefile中的路径搜索及综合示例
实际的工程项目中,所有的源文件和头文件不会都放在同一个文件夹下面中,这不方便源码管理。由此在编写Makefile的时候便要求能够正确地定位源文件和依赖的文件,最终编译产生可执行程序。 怎么才能实现这一必须要实现的要求呢?就需要使用特殊的预定义变量VPATH,用来指示make如何查找文件。 make对于VPATH值的处理方式有 - 当前文件夹...原创 2018-03-06 10:10:00 · 624 阅读 · 0 评论 -
值得学习的C/C++框架和库
值得学习的C语言开源项目1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行...转载 2018-05-28 22:39:11 · 640 阅读 · 0 评论