- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UnixLinux下
C开发指南
二零零七年十月
第一章 Linux 的编程环境 4
1. Linux 的编程环境 4
函数库和系统调用 4
在线文档 (man, info, HOW-TO, ...) 5
C 语言编程风格 7
库和头文件的保存位置 9
共享库及其相关配置 9
2. Linux 上进行程序开发的典型场景 10
控制台上的开发场景 10
X Window 上的开发场景 10
3. 程序和脚本 10
程序脚本:编写, 编译, 调试和执行 10
第二章 Linux 上的 C编译器和调试器 11
1. GNU C 编译器 12
2. 优 化 选 项 13
3. 用 gdb 调试 GCC 程序 14
gdb 的常用命令 15
gdb 使用范例 16
4. 其他的 C 编程工具 25
5. 运行 gcc/egcs 33
6. gcc/egcs 的主要选项 35
7. 创建和使用静态库 35
8. 创建和使用共享库 35
9. 使用高级共享库特性 36
第三章 GNU make 和 makefile 39
1. GNU make 39
2. makefile 基本结构 40
3. makefile 变量 41
4. GNU make 的主要预定义变量 42
5. 隐含规则 42
6. 运行 make常用选项 43
第四章 Linux下编程的实用工具及命令 44
6.9.1??正则表达式 44
压缩和归档工具 44
搜索和排序 45
文件编辑 45
文件比较 45
其他 45
第一章 Linux 的编程
Linux 的编程
主要内容:
标准 (ANSI C, POSIX, SVID, XPG, ...)
函数库和系统调用
在线文档 (man, info, HOW-TO, ...)
C 语言编程风格
库和头文件的保存位置
共享库及其相关配置
??函数库和系统调用
1. glibc
众所周知,C 语言并没有为常见的操作,例如输入/输出、内存管理,字符串操作等提供内置的支持。相反,这些功能一般由标准的“函数库”来提供。GNU 的 C 函数库,即 glibc,是 Linux 上最重要的函数库,它定义了 ISO C 标准指定的所有的库函数,以及由 POSIX 或其他 UNIX 操作系统统变种指定的附加特色,还包括有与 GNU 系统相关的扩展。目前,流行的 Linux 系统使用 glibc 2.0 以上的版本。glibc 基于如下标准:
ISO C: C 编程语言的国际标准,即 ANSI C。
POSIX:GNU C 函数库实现了 ISO/IEC 9945-1:1996 (POSIX 系统应用程序编程接口, 即 POSIX.1)指定的所有函数。该标准是对 ISO C 的扩展,包括文件系统接口原 语、设备相关的终端控制函数以及进程控制函数。同时,GUN C 函数库还支持部分由 ISO/IEC 9945-2:1993(POSIX Shell 和 工具标准,即 POSIX.2)指定的函数, 其中包括用于处理正则表达式和模式匹配的函数。
Berkeley Unix:BSD 和 SunOS。GNU C 函数库定义了某些 UNIX 版本中尚未标准化的函数, 尤其是 4.2 BSD, 4.3 BSD, 4.4 BSD Unix 系统(即“Berkeley Unix”)以及“SunOS” (流行的 4.2 BSD 变种,其中包含有某些 Unix System V 的功能)。BSD 函数包括 符号链接、select 函数、BSD 信号处理函数以及套接字等等。
SVID:System V 的接口描述。GNU C 函数库定义了大多数由 SVID 指定而未被 ISO C 和 POSIX 标准指定的函数。来自 System V 的支持函数包括进程间通信和共享内存、 hsearch 和 drand48 函数族、fmtmsg 以及一些数学函数。
XPG:X/Open 可移植性指南。GNU C 函数库遵循 X/Open 可移植性指南(Issue 4.2) 以及所有的 XSI(X/Open 系统接口)兼容系统的扩展,同时也遵循所有的 X/Open Unix 扩展。
2. 其他重要函数库
除 glibc 之外,流行的 Linux 发行版中还包含有一些其他的函数库,这些函数库具有重要地位,例如:
GNU Libtool:GNU Libtool 实际是一个脚本生成工具,它可以为软件包开发者提供一般性 的共享库支持。以前,如果源代码包的开发者要利用共享库的优点,则必须为每个软件包可支持的平台编写 定制的支持代码。并且还需要设计配置接口,以便软件包的安装程序能够正确选择要建立的
文档评论(0)