第10节Linux编程环境与开发工具.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
共享函数库 如果某个函数使用共享函数库(如libc.so.N),那么此程序被链接到/usr/lib/libc.sa,这是一个特殊类型的函数库,它并不包含实际的函数,只是指向libc.so.N中的相应函数,并且只有在运行状态条用此函数时才将其调入内存。 这有两个好处,首先解决了浪费内存与磁盘空间的问题,其次使得函数库可以单独升级而不需要编译、链接应用程序。 在Linux下可以用ldd命令查询某个程序使用了哪些动态库。 创建、编译和执行第一个程序 C程序的开发是一个不断重复的过程,在以下4个步骤中将用到软件开发人员所熟悉的许多UNIX工具。 (1) 利用某个编辑器把程序的源代码编写到一个文本文件中。 (2) 编译程序。 (3) 运行程序。 (4) 调试程序。 不断重复执行前两个步骤,直到程序能够成功编译为止,然后对这一程序开始运行和排错。 小 结 在Red Hat Linux中集成了好几种编辑环境和编译器,它们为各种编程语言提供相应的开发环境,本章介绍了shell编程的一些基本知识,主要包括:创建shell脚本程序;shell变量、参数,以及shell的基本语法结构。 LUNIX建立在C语言的基础之上。C语言是与平台无关的、编译性的过程语言,它以函数为基础,并且具有派生由程序员定义的新的数据结构的能力。同时还简单介绍了C语言的产生、C语言编程思想,以及在Linux下如何用C语言进行编程。通过本章用户可以对Linux C程序的编译过程有个大概的了解。 * Makefile的隐含规则 在上面的例子中,几个产生目标文件的命令都是从“.c”的C语言源文件和相关文件通过编译产生“.o”目标文件,这也是一般的步骤。实际上,make可以使工作更加自动化,也就是说,make知道一些默认的动作,它有一些称作隐含规则的内置的规则,这些规则告诉make当用户没有完整地给出某些命令的时候,应该怎样执行。 Makefile的隐含规则 例如,把生成prog.o和code.o的命令从规则中删除,make将会查找隐含规则,然后会找到并执行一个适当的命令。由于这些命令会使用一些变量,因此可以通过改变这些变量来定制make。象在前面的例子中所定义的那样,make使用变量CC来定义编译器,并且传递变量CFLAGS(编译器参数)、CPPFLAGS(C语言预处理器参数)、TARGET_ARCH(目标机器的结构定义)给编译器,然后加上参数-c,后面跟变量$(第一个依赖文件名),然后是参数-o加变量$@(目标文件名)。综上所述,一个C编译的具体命令将会是: $ {CC} $ {CFLAGS} $ {CPPFLAGS} $ {TARGET_ARCH} –c $ -o $@ Makefile的隐含规则 在上面的例子中,利用隐含规则,可以简化为: OBJS=prog.o code.o CC=gcc test:${ OBJS } ${ CC } –o $@ $^ ?prog.o:prog.c prog.h code.h code.o:code.c code.h ?clean: rm –f *.o 使用automake和autoconf产生Makefile 在开始使用Automake和autoconf之前,请先确认系统已经安装以下的软件: GNU Automake GNU Autoconf GNU m4 Perl GNU Libtool (如果你需要产生 shared library) Automake 所产生的 Makefile 除了可以做到程序的编译和连接,也已经把如何产生程序文件的操作,以及把安装程序都考虑进去了,所以源程序所存放的目录架构最好符合GNU的标准惯例,下面用hello.c 来作为例子进行说明。 在工作目录下建立一个新的子目录devel,再在devel下建立一个hello的子目录,这个目录将作为存放 hello 这个程序及其相关文件的地方: 用编辑器写个hello.c文件: 使用automake和autoconf产生Makefile #include stdio.h int main(int argc, char** argv) { printf(Hello, GNU!\n); return 0; } 使用automake和autoconf产生Makefile 接下来就要使用 Autoconf 及 Automake 来产生Makefile文件,步骤如下: (1)autoscan 产生一个configure.in的模板,执行 autoscan 后会产生一个configure.scan 的文件,可以用它做为configure.in文件的模板: (2)编辑configure.scan文件,如下所示,并且把文件

文档评论(0)

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

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

1亿VIP精品文档

相关文档