嵌入式系统培训讲学.pptVIP

  • 3
  • 0
  • 约2.4千字
  • 约 99页
  • 2018-10-29 发布于天津
  • 举报
嵌入式系统培训讲学.ppt

嵌入式系统 第十一章 嵌入式Linux系统的应用程序开发;嵌入式Linux 应用程序开发;嵌入式Linux应用程序开发;嵌入式Linux应用程序开发;第十一章 Agenda;Vi;Vi 的3种模式;10;Vi;Vi;Vi;Vi 的进入和内容输入;命令模式;命令模式;底行模式;Vi举例;Vi举例;Vi举例;Vi举例;Vi举例;;补充:头文件和函数库;头文件和函数库;1.头文件;对c语言来说,头文件一般存在于目录/usr/inlcude下面 而对于linux操作系统的头文件,一般存在于目录/usr/include/sys和/usr/include/linux下。 其他程序设计系统也可能有自己单独的目录,比如/usr/include/X11或者/usr/include/g++等。 ;Gcc的一个可选参数:-I,用于在编译阶段,指定非标准位置的头文件。 比如:gcc –I /usr/***/include test.c会在指定的位置查找test.c文件所include的一些头文件。 ;定义:是一些预先编译好的函数的集合,那些函数都是按照可再使用的原则编写的。它们通常是一组相互关联的用来完成某项常见工作的函数构成(比如c库里面的标准输入输出函数、时间函数和数学函数等)。 库文件的含义:就是一组处于可以“拿来就用”的状态下的二进制目标代码。当有程序需要用的函数库中的某个函数的时候,就会通过include语句引用对此函数做出声明的头文件。 程序函数库可以使整个程序更加模块化,更容易重新编译,而且更方便升级。 ;编译器和链接程序负责把程序代码和库函数结合在一起成为一个独立的可执行程序。如果使用的不是标准的c语言运行库而是某个扩展库,则必须指定它的位置和名字(使用-I,-L和-l参数)。 在链接阶段,会搜索一些默认的目录,比如/lib和/usr/lib等来查找需要的库文件。 ;命名规则:一般是以lib打头,然后后面接上表示函数库功能的名字部分。比如libc、libm和libcap等。 类型:分成静态库和共享库,后缀名分别是a和so(一般在系统中的/lib中,两个版本都存在)。而在win平台下面,分别是lib和dll。 ;在编译程序的时候,为了保证链接的正常进行,可以告诉gcc库文件的位置(当然,标准的c库是不需要指定的,其他的非标准库则要指定)。 Gcc的一个可选参数:-L,用于在链接阶段,指定非标准库文件的位置。 比如: $gcc ?o x11fred ?L/usr/openwin/lib x11fred.c ?lX11 ;静态函数库(static libraries):是一个普通的目标文件的集合,也叫归档文件,一般用“.a”作为文件的后缀,比如libc.a和libX11.a等。 自己建立静态函数库的方法: 编写库函数的时候,尽量把不同类型函数实现编写到不同的源代码文件里面; 然后使用gcc的编译命令对各个文件进行独立编译,从而得到各自的目标文件; 然后使用ar命令把各个目标文件打包在一起。 ;1)编写一个小函数库,这个函数库里面有两个函数。分别使用两个源代码文件。 2)各自代码如下: ――――――――fred.c-------------- #include stdio.h void fred(int arg) { printf(fred: you passed %d\n, arg); } ;――――――――bill.c-------------- #include stdio.h void bill(char *arg) { printf(bill: you passed %s\n, arg); } ;3)进行两个源代码文件的编译 $ gcc ?c bill.c fred.c $ ls *.o bill.o fred.o ;4)利用ar命令,把目标代码添加到一个库文件中去。 $ ar crv libfoo.a bill.o fred.o a ? bill.o a ? fred.o ;静态库:Example;静态库:Example;静态库:Example;静态库:Example;静态库;4. 共享库;共享库特点;共享库优点;共享库的安装;共享库的加载;ldd命令;总结:函数库和头文件的保存位置;;第十一章 Agenda;11.3 使用gcc 进行Linux 应用程序开发;11.3.1 gcc 编译器概述;11.3.2 gcc的编译过程;gcc的编译过程;gcc的四个阶段;11.3.3 gcc 的使用;可执行文件格式;可执行文件格式;Gcc支持的后缀名;GNU C 的使用;gcc命令行参数;gcc命令行参数;gcc命令行参数;gcc命令行参数;第十一章 Agenda;11.4 GNU 的make 和makefile;make;1.

文档评论(0)

1亿VIP精品文档

相关文档