C语言标准与实现:x86/GNU/Linux版

需积分: 35 4 下载量 164 浏览量 更新于2024-10-21 收藏 1.13MB PDF 举报
"C语言:标准与实现0.9c.pdf" 本书是关于C语言标准与实现的详细解析,特别针对x86架构的GNU/Linux环境。作者在2004年发布了0.9c修订版,书中涵盖了C编程语言的标准规范以及在实际操作系统中的实现细节。以下是该书的部分关键知识点: 1. **C语言标准**:书中深入探讨了C语言的ISO/IEC 9899标准,通常称为C99或C11标准,包括语法、类型系统、控制结构、函数、预处理器、内存管理等方面。 2. **C语言实现**:针对x86/GNU/Linux平台,讨论了编译器如何将C源代码转化为机器可执行的二进制代码,以及链接器如何合并各个模块形成最终的可执行文件。 3. **编译过程**:详细介绍了预处理、编译、汇编和链接四个步骤,强调了编译器和链接器在C程序生成过程中的作用。 4. **x86虚拟地址空间**:书中包含对x86架构下进程虚拟地址空间的解释,包括用户空间和内核空间的划分,以及如何通过内存映射加载动态库。 5. **动态库加载**:讲述了动态库在运行时如何被加载到进程的地址空间,如ld-linux.so.2的作用以及动态链接的过程。 6. **中断和异常**:基础的中断和异常概念被引入,这是理解操作系统和程序执行的关键部分。 7. **.size伪指令**:书中修正了关于`.size`伪指令的描述,这是一个用于GCC汇编语言中计算并设置符号大小的指令。 8. **PDF书签**:0.9c版增加了PDF文件的书签功能,便于读者快速导航至相应章节。 9. **编程实践**:所有示例代码都是基于GNU/Linux环境,读者可以通过相关网站获取所需软件,如GCC编译器,进行实践操作。 10. **技术热情**:作者旨在激发读者对技术细节的探索热情,强调克服困难的决心和实践的重要性。 本书不仅适合C语言初学者,也对有一定经验的开发者有深度启发,因为它深入到语言的底层机制和具体实现,提供了对C语言全面而深入的理解。