摘要: 目录:1、伪目标2、rm命令的细节问题,RM///////////////////////////////////////////////////////////////////////////////////1、伪目标(1)为了执行规则所创建的命令,而不是去生成目标。如: clean: rm *.o temp 规则中的rm不是去创建clean这个目标的命令,而是为了删除.o和temp文件。 但是如果该目录下已存在的一个clean文件,则“make clean”不会执行任何动作。 所以,将一个目标生成伪目标的方法是将它作为一个特殊目标 .PHONY 如: .PHONY:cle... 阅读全文
posted @ 2013-11-27 14:47 tony7373 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 目录1、变量"VPATH",一般搜索。2、关键字"vpath",选择性搜索。3、库文件的搜索规则4、强制目标///////////////////////////////////////////////////////////////////////////////////////////////////////1、VPATH用于指定搜索路径,用"空格"或者":"进行分隔。如:VPATH = src:../headers在搜索当前目录后搜索指定的两个路径:src和../headers//////////////// 阅读全文
posted @ 2013-11-27 11:32 tony7373 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 我们并不是没有梦想,而是在现实的面前没有找到自己的归宿而已。做什么,只不过是一个形式而已。我深深的赞同马克思的一句话:农民和科学家从事工作的本质是一样的。我认为兴趣的产生是因为你对其理解的深入,如果再加上一种使命感,再加上勇敢的坚持,再加上?,你必将成为那个改变世界的人。我们纵然不是乔布什,也不是迈克尔杰克逊,不是迈克尔乔丹,也不是李小龙但是我们却可以像他们一样去挑战自己,超越自己。把自己燃烧起来,照亮世人。OK,今天算是对这个问题有了一点点的感悟。 阅读全文
posted @ 2013-11-27 10:32 tony7373 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 细节问题1、如果在字符常量中要表示双引号" 和问号? ,既可以使用转义序列\" 和\? ,也可以直接用字符" 和? ,而要表示' 和\ 则必须使用转义序列。2、占位符和转义字符。 占位符:%c %d %f。 转义字符:\n \f \a \b \r \r \t \' \" \? \\ 转义序列是编译器在处理字符串字面值时转义的,而占位符是由printf 解释的。3、 阅读全文
posted @ 2013-11-26 20:15 tony7373 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 目录1、=和:=的区别2、Makefile$@, $^, $<3、“order-only”依赖 “|”的用法4、wildcard使用/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1、=和:=的区别。 (1)“=” make会将整个makefile展开后,再决定变量的值。也就是说,变量的值将会是整个makefile中最后被指定的值。看例子:x = foo y = $(x) bar x = xyz在上例中, 阅读全文
posted @ 2013-11-26 10:17 tony7373 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1、书写时明确几个问题:目标文件?目标依赖的文件列表?更新目标文件所需的命令? target:规则的目标。 prerequisite:规则依赖的条件 command:规则的命令行。2、每一条命令以[Tab]开头。每一条命令占用一行。3、反斜线\是换行符,在\后面不能加空格!4、使用指定变量,如obj=main.o kbd.o command.o display.o \ insert.o search.o files.o5、cc -c main.c -o main.o 是makefile的自动推导规则,不用写出来,编译时会默认执行。6、“include”指示符告诉m... 阅读全文
posted @ 2013-11-25 20:35 tony7373 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 1、返回到上次使用的路径 cd -2、alias xh=‘cd /home/xh/vdsl’ 永久保存:vi ~/.bashrc 添加:# alias xh=‘cd /home/xh/vdsl’ 保存后,然后运行 source ./bashrc 如果还不行:vi ~/.bash_profile 添加 # source ~/.bashrc 阅读全文
posted @ 2013-11-25 14:04 tony7373 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 1、芯片厂商给的源代码各个文件夹和文件的用途。2、编译环境。3、编译镜像文件。 生成驱动的ko文件和二进制的bin配置文件。4、文件的安装。5、板子运行前的一些必要配置。 阅读全文
posted @ 2013-11-24 18:24 tony7373 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 1、文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。 还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。 一般格式是这样的: #ifndef #define ...... ...... #endif 在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线... 阅读全文
posted @ 2013-11-24 16:26 tony7373 阅读(162) 评论(0) 推荐(0) 编辑
摘要: #defineSUM ( x ) ( x ) + ( x ) 这还是定义的宏函数 SUM ( x )吗?显然不是。编译器认为这是定义了一个宏: SUM ,其 代表的是( x ) ( x ) + ( x ) ///////////////////////////////////////////... 阅读全文
posted @ 2013-11-24 12:58 tony7373 阅读(360) 评论(0) 推荐(0) 编辑