第4章嵌入式Linux开发基础解说.ppt

  1. 1、本文档共112页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 嵌入式Linux程序开发基础 本章要点 1、嵌入式Linux编译器GCC的使用 2、“文件包含”处理 3、Make命令和Makefile文件 4、嵌入式Linux汇编语言程序设计基础知识 5、Linux Shell编程方法 6、位运算 4.1 嵌入式Linux编译器 4.1.1 Linux下C语言编译过程 1、编辑器 2、编译链接器 3、调试器 4、项目管理器 4.1.2 GCC编译器 1、GCC编译器 GCC编译器能将C、C++语言源程序、汇编语言源程序和目标程序编译、连接成可执行文件,如果没有给出可执行文件的名字,GCC将自动生成一个名为a.out的文件。 2、GCC的执行过程 预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。 System-Administration-Software Sources 3、GCC的基本用法和选项 GCC最基本的用法∶      gcc [options] [filenames] -c:只编译,不连接成为可执行文件。 -o output_filename:确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。 -g:产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。 -O:对程序进行优化编译、链接,采用这个选项,整个源代码会在编译、链接过程中进行优化处理,产生的可执行文件的执行效率较高。 4.2 “文件包含”处理 1、头文件 在C语言中,需要利用头文件来定义结构、常量以及声明函数的原型。大多数C的头文件都存放在 /usr/include及其子目录下。 引用以上目录中的头文件在编译的时候无需加上路径,但如果程序中引用了其他路径的头文件,需要在编译的时候用 –I 参数。 2、“文件包含”处理 “文件包含”处理,意思是把另外一个源文件的内容包含到本程序中来。其作用是减少编写程序的重复劳动,即把一些要重复使用的东西,编写到一个“头文件”(*.h)中,然后在程序中用#include命令来实现“文件包含”的操作。 例如:∑n=1+2+3+……+100 求和运算。 1 #include stdio.h 2 int main() { 3  int x=100,s=0,i=1; 5  while(i=x)  { 6   s=s+i; 7   i++; 8   } 9   printf( sum= %d\n,s); 10  return 0; 11 } 为了让加法部分能重复使用,将加法部分写成一个函数int sum(int n)。 int mysum(int n)  {   int i=1,ss=0;   while(i=n){    ss=ss+i;     i++;   }   return (ss);  } 再在主函数中调用它 1 #include stdio.h 2 int mysum(int n); 3 int main() 4 { 5   int x=100; 6   int s=0; 7   s=mysum(x); 8   printf( sum= %d\n,s); 9   return 0; 10 } 注意:上述程序中的第2行语句   int mysum(int n); 是必不可少的。由于mysum(int n)函数的定义是从第11行语句开始,而调用mysum(int n)函数的语句在第7行。因此,要在调用之前声明这个函数。 下面进一步将程序中具有独立功能的mysum()函数分割出来。该程序可分割为下列3个程序:mysum.h、mysum.c和ex_sum.c。 (1)程序mysum.h: 1 /* mysum.h */ 2 int mysum(int n); (2)程序mysum.c: 1. /* mysum.c */ 2. int mysum(int n) 3. { 4. int i=1,ss=0; 5. while(i=n){ 6. ss=ss+i; 7. i++; 8.     } 9. return (ss); 10. } (3)主程序ex_sum.c: 1. /* ex_sum.c */ 2. #include stdio.h 3. #include mysum.h 4. int main() 5. { 6. int x=100; 7. int s=0; 8. s=mysum(x); 9. printf(sum=%d\n,s); 1

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档