跟我学Makefile(四)】的更多相关文章

在前面的博文中,介绍一些消息分割的方案,以及MINA.Netty.Twisted针对这些方案提供的相关API.例如MINA的TextLineCodecFactory.PrefixedStringCodecFactory,Netty的LineBasedFrameDecoder.LengthFieldBasedFrameDecoder,Twisted的LineOnlyReceiver.Int32StringReceiver. 除了这些方案,还有很多其他方案,当然也可以自己定义.在这里,我们定制一个自…
原文:从头开始学JavaScript (四)--操作符 一.一元操作符 1.自增自减操作符:分为前置型和后置型: 前置型:++a;--a; 后置型:a++;a--; 例: <script type="text/javascript"> var a, b,i= 1,j=1; a=i++; b=++j; alert("a="+a+",i="+i+",b="+b+",j="+j);//a=1,i=2,…
紧接着跟我学Makefile(二)继续学习:变量高级用法 (1)变量值的替换 :替换变量中的共有的部分,其格式是“$(var:a=b)”或是“${var:a=b}”,把变量“var”中所有以“a”字串“结尾”的“a”替换成“b”字串.这里的“结尾”意思是“空格”或是“结束符”. foo := a.o b.o c.o bar := $(foo:.o=.c) 第二行:把“$(foo)”中所有以“.o”字串“结尾”全部替换成“.c”,所以我们的“$(bar)”的值就是“a.c b.c c.c”. (2…
变量的定义 makefile中的变量,与C语言中的宏类似,它为一个文本字符串(变量的值,其类型只能是字符串类型)提供了一个名字(变量名). 变量的基本格式: 变量名   赋值符   变量值 变量名指的就是该变量的名字,是不包括“:”.“#”.“=”.前置空白和尾空白的任何字符串.需要注意的是,尽管在GNU make中没有对变量的命名有其它的限制,但定义一个包含除字母.数字和下划线以外的变量的做法也是不可取的,因为除字母.数字和下划线以外的其它字符可能会在以后的make版本中被赋予特殊含义,并且这…
使用函数:函数调用,很像变量的使用,也是以“$”来标识的,其语法如下: $(<function> <arguments>) 或是 ${<function> <arguments>} <function>就是函数名,<arguments>是函数的参数,参数间以逗号“,”分隔,而函数名和参数之间以“空格”分隔.函数调用以“$”开头,以圆括号或花括号把函数名和参数括起. 函数中的参数可以使用变量,为了风格的统一,函数和变量的括号最好一样,…
Unix.Linux必学知识哈哈,网上看到一哥们写得挺好挺详细的,直接复制地址就分享哈哈哈. 跟我一起写 Makefile(一) 概述 跟我一起写 Makefile(二) make是如何工作的 跟我一起写 Makefile(三) Makefile 总述 跟我一起写 Makefile(四) 书写规则 跟我一起写 Makefile(五) 跟我一起写 Makefile(六) 书写命令 跟我一起写 Makefile(七) 使用变量 跟我一起写 Makefile(八) 变量和使用条件判断 跟我一起写 Ma…
定义模式规则 使用模式规则来定义一个隐含规则.一个模式规则就好像一个一般的规则,只是在规则中,目标的定义需要有“%”字符.“%”的意思是表示一个或多个任意字符.在依赖目标中同样可以使用“%”,只是依赖目标中的“%”的取值,取决于其目标. 有一点需要注意的是,“%”的展开发生在变量和函数的展开之后,变量和函数的展开发生在make 载入 Makefile 时,而模式规则中的“%”则发生在运行时. 模式规则介绍 :模式规则中,至少在规则的目标定义中要包含“%”,否则,就是一般的规则.目标中的“%”定义…
概述 什么是makefile?或许很多Winodws程序员都不知道这个东西,因为那些Windows IDE都为你做了这个工作,但我觉得要做一个好的和professional的程序员,makefile还是要懂的.这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义.特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力. 因为,makefile关系到了整个工程的编译规…
shell 函数 :和反引号“`”是相同的功能 . shell 函数把执行操作系统命令后的输出作为函数返回. contents := $(shell cat foo) files := $(shell echo *.c)这个函数会新生成一个 Shell 程序来执行命令,所以你要注意其运行性能,如果你的 Makefile 中有一些比较复杂的规则,并大量使用了这个函数,那么对于你的系统性能是有害的.特别是 Makefile 的隐晦的规则可能会让你的 shell 函数执行的次数比你想像的多得多 控制…
书写命令———— 每条规则中的命令和操作系统Shell的命令行是一致的.make会一按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的.在命令行之间中的空格或是空行会被忽略,但是如果该空格或空行是以Tab键开头的,那么make会认为其是一个空命令. 我们在UNIX下可能会使用不同的Shell,但是make的命令默认是被“/bin/sh”——UNIX的标准Shell解释执行的.除非你特别指定一个其它的Shell.Makefile中,“#”是注释…