第4篇 嵌入式Linux程序设计基础.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例如: a4 6、 右移运算 把“ ”左边的运算数的各二进位全部右移若干位,“”右边的数指定移动的位数。 例如:设 a=15,a2表示把000001111右移十进制3)。 4.5.2 位表达式 将位运算符连接起来所构成的表达式称为位表达式。在这些位运算符中,其优先级依次为: ~(取反运算符)、或(左移或右移)、(按位与)或|(按位或)或^(按位异或)。 a = 5; 就等价于:  a = a 5;  再比如:GPDR = ~ 0xff; 我们将其展开:GPDR = GPDR (~0xff);    GPDR = GPDR 0x00;   完成了对GPDR的清0。 一个常用的操作是用 来获取某个或者某些位。 例如获取整数x中的低4位可以写成 x =0x0F; x=x0x0F; 也可以用|、、、等配合来设置和清除某位或者某些位。 例如: x =0x1; 即:x=x0x1; /* 清除x的最后一位,即第0位 */ x =(0x15); 即:x=x(0x15); /* 清除x的低5位 */ x |=0x1; 即:x=x|0x1; /* 将最后一位(即第0位)设置为1 */ x |=(0x16); 即:x=x|(0x16); /* 将x的第6位设置为1 */ 本章小结 本章是在嵌入式Linux中进行程序设计的基础,介绍了Gcc编译器的使用,虽然它的选项较多,但掌握常用的一些选项即可。介绍了Make工程管理器的使用,这里包括Makefile的基本结构、Makefile的变量定义及其规则和 make命令的使用。还介绍了autotools的使用,这在项目设计中是非常有用的工具。最后简单介绍了位运算。 感谢您的关注 $ which cc /usr/bin/cc $ ls -l /usr/bin/cc lrwxrwxrwx 1 root root 20 2008-07-04 05:59 /usr/bin/cc - /etc/alternatives/cc $ ls -l /etc/alternatives/cc lrwxrwxrwx 1 root root 12 2008-11-01 09:10 /etc/alternatives/cc - /usr/bin/gcc 在Makefile 中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。 伪目标 Makefile中把那些没有任何依赖只有执行动作的目标称为“伪目标”(phony targets)。 .PHONY : clean clean : rm –f hello main.o func1.o func2.o “.PHONY” 将“clean”目标声明为伪目标 文件名 make命令默认在当前目录下寻找名字为makefile或者Makefile的工程文件,当名字不为这两者之一时,可以使用如下方法指定: make –f 文件名 示例 该程序有mytool1.h、mytool2.h、mytool1.c、mytool2.c 等文件需要编译。编写Makefile文件: main: main.o mytool1.o mytool2.o   gcc -o main main.o mytool1.o mytool2.o main.o: main.c   gcc -c main.c mytool1.o: mytool1.c mytool1.h   gcc -c mytool1.c mytool2.o: mytool2.c mytool2.h   gcc -c mytool2.c 再次运行make,这时,make 会自动检查相关文件的时间戳。 首先,在检查“main”、“main.o”、“ mytool1.o”和“mytool2.o”这3 个文件的时间戳之前,它会向下查找那些把“main.o”、“ mytool1.o”或“mytool2.o”作为目标文件的时间戳。如果这些文件中任何一个的时间戳比它们新,则用gcc命令将此文件重新编译。这样,make 就完成了自动检查时间戳的工作,开始执行编译工作。这也就是 Make 工作的基本流程。 Makefile 变量 hello: main.o func1.o func2.o gcc main.o func1.o func2.o -o hello 思考1:如果要为hello目标添加一个依赖,如:func3.o,该如何修改? 答案1: h

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档