- 浏览: 1187872 次
- 性别:
- 来自: 北京
-
最新评论
-
天空趋虚:
资源还没有匮乏到这种程度吧,我觉得代码通俗易懂,可维护性强,比 ...
java编程中'为了性能'一些尽量做到的地方 -
wen262856298:
文章写的好但是里面有错误 ...
java编程中'为了性能'一些尽量做到的地方 -
步青龙:
你的博客中,我看的第一篇文章,感悟很深,果断关注你,谢谢你把这 ...
工作是什么?我怎么理解 -
accp6_0:
...
程序人生:女程序员的求职奋斗史 -
Dragonmandance:
很不错,学习了
java编程中'为了性能'一些尽量做到的地方
文章列表
make 的运行——————
一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的。但也有时你也许只想让make重编译某些文件,而不是整个工程,而又有的时候你有几套编译 ...
- 2004-02-25 10:16
- 浏览 491
- 评论(0)
隐含规则————
在我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix下是[.o]文件,Windows下是[.obj]文件)。本章讲述的就是一些在Makefile中的“隐含的 ...
- 2004-02-25 10:16
- 浏览 557
- 评论(0)
五、定义模式规则
你可以使用模式规则来定义一个隐含规则。一个模式规则就好像一个一般的规则,只是在规则中,目标的定义需要有"%"字符。"%"的意思是表示一个或多个任意字符。在依赖目标中同样可以使用"%",只是依赖目标中的"%"的取值,取决于其目标。
有一点需要注意的是,"%"的展开发生在变量和函数的展开之后,变量和函数的展开发生在make载入Makefile时,而模式规则中的"%"则发生在运行时。
1、模式规则介绍
模式规则中,至少在规则的目标定义中要包含"%& ...
- 2004-02-25 10:16
- 浏览 550
- 评论(0)
使用变量————
在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“命令”或是Makefile的其它部分中。
变量的命名字可以包含字符、数字,下划线(可以是数字开头),但不应该含有“:”、“#”、“=”或是空字符(空格、回车等)。变量是大小写敏感的,“foo”、“Foo”和“FOO”是三个不同的变量名。传统的Makefile的变量名是全大写的命名方式,但我推荐使用大 ...
- 2004-02-25 10:15
- 浏览 459
- 评论(0)
六、多行变量还有一种设置变量值的方法是使用define关键字。使用define关键字设置变量的值可以有换行,这有利于定义一系列的命令(前面我们讲过“命令包”的技术就是利用这个关键字)。
define指示符后面跟的是变量的名字,而重起一行定义变量的值,定义是以endef关键字结束。其工作方式和“=”操作符一样。变量的值可以包含函数、命令、文字,或是其它变量。因为命令需要以[Tab]键开头,所以如果你用define定义的命令变量中没有以[Tab]键开头,那么make就不会把其认为是命令。
下面的这个示例展示了define的用法:
define two-lines echo foo echo ...
- 2004-02-25 10:15
- 浏览 589
- 评论(0)
jaminwm@sina.com QQ:水解心香.18021554
仿效 中国地质大学·连华于CSDN所著同名文章,有感于计算机专业的博大精深,霄汉之飞我所读图书的比比节轮,特著此文
读万卷书,行万里路,便是今生的两个愿望吧。
读书,算是旧习; ...
- 2004-02-24 17:38
- 浏览 597
- 评论(0)
四、foreach 函数
foreach函数和别的函数非常的不一样。因为这个函数是用来做循环用的,Makefile中的foreach函数几乎是仿照于Unix标准Shell(/bin/sh)中的for语句,或是C-Shell(/bin/csh)中的foreach语句而构
- 2004-02-24 16:53
- 浏览 539
- 评论(0)
书写命令————
每条规则中的命令和操作系统Shell的命令行是一致的。make会一按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会 ...
- 2004-02-24 16:51
- 浏览 637
- 评论(0)
书写规则————
规则包含两个部分,一个是依赖关系,一个是生成目标的方法。
在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道 ...
- 2004-02-24 16:50
- 浏览 631
- 评论(0)
六、多目标
Makefile的规则中的目标可以不止一个,其支持多目标,有可能我们的多个目标同时依赖于一个文件,并且其生成的命令大体类似。于是我们就能把其合并起来。当然,多个目标的生成规则的执行命令是同一个,这可能 ...
- 2004-02-24 16:50
- 浏览 771
- 评论(0)
三、make是如何工作的
在默认的方式下,也就是我们只输入make命令。那么,
1、make会在当前目录下找名字叫“Makefile”或“makefile”的文件。 2、如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到 ...
- 2004-02-24 16:49
- 浏览 640
- 评论(0)
Makefile 总述———————
一、Makefile里有什么?
Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。
1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。
2、隐晦规则。由于我们的make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写Makefile,这是由make所支持的。
3、变量的定义。在Makefile中我们要定义一系列的变量,变量一般都是字符串,这个有点你C语言中的宏,当Makefile被执行时,其中的变量都会被扩展到 ...
- 2004-02-24 16:49
- 浏览 718
- 评论(0)
跟我一起写 Makefile
陈皓
概述——
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。
因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别 ...
- 2004-02-24 16:48
- 浏览 1361
- 评论(0)
使用make更新函数库文件———————————
函数库文件也就是对Object文件(程序编译的中间文件)的打包文件。在Unix下,一般是由命令"ar"来完成打包工作。
一、函数库文件的成员
一个函数库文件由多个文件组成 ...
- 2004-02-24 16:36
- 浏览 647
- 评论(0)
还是请看例程,这个程序比较长,来源于MSDN,我做了一点点修改,并把自己的理解加在注释中,所以,请注意代码中的注释:
#include <windows.h>#include <tchar.h>#include <stdio.h>
//使用Windows的HeapAlloc函数进行动态内存分配#define myheapalloc(x) (HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, x))#define myheapfree(x) (HeapFree ...
- 2004-01-25 21:18
- 浏览 460
- 评论(0)