Shell 命令中: $$: shell pid $!: pid of the last process running in shell $?: shell command return code $-: the set flags $* args list $@ args list $#  args number Makefile: 自动化变量$?代表依赖文件列表中被改变过的所有文件. 自动化变量$^代表所有通过目录搜索得到的依赖文件的完整路径名(目录 + 一般文件名)列表. 自动化变量$@…
在makefile中,会经常使用shell命令,也经常见到$var 和 $$var的情况,有什么区别呢,区别大了.不要认为在makefile的规则的命令行中使用$var就是将makefile的变量和shell共享了,这里仅仅是读取makefile的变量然后扩展开,将其值作为参数传给了一个shell命令.而$$var是在访问一个shell命令内定义的变量,而非makefile的变量.此外,如果某规则有n个shell命令行构成,而相互之间没有用';'和'\'连接起来的话,就是相互之间没有关联的she…
这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将会学到以下内容: 源程序编译 Makefile的编写 程序库的链接 程序的调试 头文件和系统求助 1.源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器. 下面我们以一个实例来说明如何使用gcc编译器. 假设我们有下面一个非常简单的源程序(hello.c): int main(int argc,char **argv) { printf("Hello Linux\n"…
  http://blog.csdn.net/darennet/article/details/8185881   Makefile中使用$$的使用     在makefile中,会经常使用shell命令,也经常见到$var 和 var的情况,有什么区别呢,区别大了.不要认为在makefile的规则的命令行中使用$var就是将makefile的变量和shell共享了,这里仅仅是读取makefile的变量然后扩展开,将其值作为参数传给了一个shell命令.而 var是在访问一个shell命令内定义…
http://bbs.chinaunix.net/thread-1916415-1-1.html linux源码的顶级Makefile中有这么一句 $(filter-out _all sub-make $(CURDIR)/Makefile, $(MAKECMDGOALS)) _all: sub-make        $(Q)@:请问命令中的@:是什么意思啊 问过许多人 documention里边也没有 没啥意思,@ 一般用来关闭命令的回显 如果Q 取值为 @,那命令部分就是 @@:,不回显如果…
今天看uboot2018顶层的Makefile中发现文件中export一个MAKE变量,export是为了向底层的Makefile传递这些变量参数,但是找了半天没有找到这个MAKE变量在哪定义的. 决定写一个Makefile测试一下 make输出结果: 难道MAKE是makfile中默认的变量?而且默认就是make?暂时这样理解吧.希望有大神指点一下.…
在linux的Makefile中,经常会见到$var和$$var的形式.下面就这两种表示方法的区别进行简单的概述. 在Makefile中的规则命令行中: $var:将Makefile中的变量var的值,传给shell命令. $$var:访问shell命令中定义的变量var. 经典示例代码如下所示: var=3                       # a target:        echo $(var)          # b        var=4               …
= 无关位置的等于,值永远等于最后的值 比如: x =a y =$(x) x =b 那么y的值永远等于最后的值,等于 b ,而不是a        := 有关位置的等于,值取决于当时位置的值 比如: x :=a y :=$(x) x :=b 那么y的值取决于当时位置的值,等于 a ,而不是b ?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值 $(x) 表示引用变量x,一般调用的是用:=复制的变量 $(PWD) 表示当前目录 % 通配符,比如有a.c,b.c,c.c,则%.c有可…
参考:http://www.weixueyuan.net/view/6389.html 总结: 在C++中提供了一个型的内建数据类型string,该数据类型可以替代C语言中char数组. 与C风格的char型数组不同,string类型的变量结尾是没有 ’\0’ 的. 我们可以通过s变量来调用length函数,从而返回s变量的长度. 转换函数c_str,该函数将string类型的变量转换为一个const的字符串数组的指针. 在C++中,在输入输出方面,我们可以像对待普通变量那样对待string类型…
手工编写依赖关系不仅工作量大而且极易出现遗漏,更新也很难及时,修改源或头文件后makefile可能忘记修改.为了解决这个问题,可以用gcc的-M选项自动生成目标文件和源文件的依赖关系.-M选项会把包含的系统头文件以及其所包含的其他系统头文件也找出来了,如果我们不需要输出系统头文件的依赖关系时,可以用-MM选项. 下面我们以一个简单的例子来说明如何自动生成依赖关系: exm/ main.c s.c s.h makefile文件内容如下: all:a src=$(wildcard *.c) obj:…