网络操作系统linux(第23-25章)

网络操作系统linux(第23-25章)

ID:33930257

大小:424.45 KB

页数:43页

时间:2019-02-27

网络操作系统linux(第23-25章)_第1页
网络操作系统linux(第23-25章)_第2页
网络操作系统linux(第23-25章)_第3页
网络操作系统linux(第23-25章)_第4页
网络操作系统linux(第23-25章)_第5页
资源描述:

《网络操作系统linux(第23-25章)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、网络操作系统-Linux基础主讲人:王柯wangk@swnu.edu.cn西南师范大学计算机科学系2005年春RedHatLinux编程基础第23章-第25章第23章Linux基础编程•23.1GNU计划的实用程序•23.2编程环境•23.2GCC介绍•23.4GNUmake介绍•23.5gdb调试工具•23.6编程语言GNUPackage的典型安装1.下载源代码包foo-1.0.tar.gz幕后英雄——GNUAutoTools:2.tarxvzffoo-1.0.tar.gz问题1:配置脚本configureautoconf,automake,libto

2、ol,autoscan,3.cdfoo-1.0是怎么生成的?autoheader……4../configure5.make6.(su)makeinstall问题2:configure脚本怎么知道该如何生成MakefileAllinOneSolution?•GNUAutoTools是上个世纪90年代开始发展起来的一系列辅助开发、打安装包的自动化工具。•各种工具分别开发,但是协同工作得很好。比如autoconf,automake,libtool等等。•但是,连开发者自己也承认,这套工具虽然好用,但是学习曲线很陡峭。•困难在于:一套新的思路和习惯,一套自定义的

3、宏和规则,使用者的交流。工作原理autoscaneditaclocalconfigure.scanconfigure.inaclocal.m4autoconfautomakeMakefile.amMakefile.inconfigureMakefile•Autoconf:根据用户提供的configure.in文件,生成一个名为configure的脚本。该脚本可以搜集有关移植性的平台相关信息,这些信息被用来生成Makefiles,配置头文件和其它平台相关的文件。•Automake:根据用户提供的一个高层次的生成规则Makefile.am,生成Makefil

4、e文件的模板Makefile.in。Automake生成的Makefiles符合GNU的Makefile标准,用户无需再手工编写Makefile文件。•Libtool:使得生成内存位置无关的代码且让共享库在不同平台间移成为可能。它可以不依赖autoconf和automake单独运行,另一方面,automake和libtool可以无缝地集成使用。HelloWorld–StepbyStep•1.hello.c#includeintmain(){printf(“HelloWorld!”);return0;}•2.Makefile.ambi

5、n_PROGRAMS=hellohello_SOURCES=hello.c•3.configure.inAC_INIT(hello.c)AM_INIT_AUTOMAKE(hello,0.1)AC_PROG_CCAC_OUTPUT(Makefile)•4.aclocal•5.autoconf•6.automake--add-missing--foreign•7../configure•8.make(makeinstall安装,makedist产生安装包)configure.in(1)•是configure脚本的输入文件,为了解决在不同unix变种之间移植程

6、序的问题:库名可能不同,应用程序名可能不同,结构和常量的定义可能不同……•configure脚本完成autoconf与automake的初始化工作,为不同的平台定义相应的宏,检测并指定适当的程序名、库名、结构和常量名等等,指定要为哪些目录输出Makefile文件。总之,为编译程序做好一切准备工作。configure.in(2)configure.in的八股文1.基本初始化部分:包括AC_INIT(必须第一个出现),AM_INIT_AUTOMAKE(程序包名,版本号),AC_CONFIG_HEADER2.可选宏:如AC_ARG_ENABLE3.检测某些程序

7、的存在性4.检查程序用到的库configure.in(3)5.检查某些头文件是否存在。6.检查Typedefsandstructures。7.检查Functions。8.指定在哪些目录输出Makefile。Seemstroublesome,mmm?Don’tworry,autoscanwilldomostoftheworkforyou.Makefile.am(1)•一种比Makefile更高层次的规则。只指定要生成什么目标,它由什么源文件生成,要安装到什么目录。•Justsimpleandstupid!☺•可执行文件:bin_PROGRAMS=foofo

8、o_SOURCES=foo1.cfoo1.hfoo2.cfoo_LDADD=fo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。