发布时间:2013-01-09 11:59:17
在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“命令”或是Makefile的其它部分中。 变量的命名字可以包含字符、数字,下划线(可以是数字开头),但不应该含有“:”、“#”、“=”或是空字符(空格、回车等)。变量是大小写敏感的,“foo”、“Foo”和“FOO”是三个不同的变量名。传统的Makefile的变量名是全大写的命名方式,但我推荐使用大小写搭配的变量名,如......【阅读全文】
发布时间:2013-01-09 11:59:07
多行变量 还有一种设置变量值的方法是使用define关键字。使用define关键字设置变量的值可以有换行,这有利于定义一系列的命令(前面我们讲过“命令包”的技术就是利用这个关键字)。 define指示符后面跟的是变量的名字,而重起一行定义变量的值,定义是以endef关键字结束。其工作方式和“=”操作符一样。变量的值可以包含函数、命令、文字,或是其它变量。因为命令需要以[Tab]键开头,所以如果你用define定义的命令变量中没有以[Tab]键开头,那么make就不会把其认为是命令。 下面的这个示例展示了define的用法: define&nbs......【阅读全文】
发布时间:2013-01-09 11:58:40
在很多用于AVR的RTOS中,都会有任务调度时,插入以下的语句: 入栈: __asm__ __volatile__("PUSH R0 \n\t"); __asm__ __volatile__("PUSH R1 \n\t"); ...... __asm__ __v......【阅读全文】
发布时间:2013-01-09 11:58:00
1、查看库文件是由哪个软件包提供的空闲时打开/usr/lib目录(因为我知道这个目录下放着一些库文件,是我们开发者可以利用的)想看看我的系统中有哪些库。看到一个libz.so,于是用命令查看:dpkg -S /usr/lib/libz.so此命令输出如下信息:zlib1g-dev: /usr/lib/libz.so即我的系统中软件包zlib1g-dev提供了libz.so这个库文件。2、查看软件包的详细信息可以用下列命令查看此软件包是干什么的:apt-cache show zlib1g-dev输出内容一部分为:Description: compression library - develop......【阅读全文】
发布时间:2013-01-09 10:57:38
gcc命令行详解 1、gcc包含的c/c++编译器 gcc、cc、c++、g++gcc和cc是一样的,c++和g++是一样的,一般c程序就用gcc编译,c++程序就用g++编译 2、gcc的基本用法 gcc test.c这样将编译出一个名为a.out的程序gcc test.c -o test这样将编译出一个名为test的程序-o参数用来指定生成程序的名字 3、为什么会出现undefined reference to 'xxxxx'错误? 首先这是链接错误,不是编译错误,也就是说如果只有这个错误,说明你的程序源码本身没有问题,是你用编译器编译时参数用得不对,你没有指定链接程序要......【阅读全文】