详细介绍:【读书笔记】《C陷阱与缺陷》第4章:连接问题解析 | 避开多文件编译的坑
【读书笔记】《C陷阱与缺陷》第4章:连接问题解析 | 避开多文件编译的坑
在底层的角度下,一个程序就是一个由符号(token)或者记号组成的序列,就像一本书(程序)也只是一个单词(token)序列。还可以把程序看作语句和声明的序列,就像可以把书看作句子的序列一样。把程序分割成符号的过程叫做词法分析。
写作本书的出发点不是要批判C语言,而是帮助C程序员绕过编程过程中的陷阱和障碍。全书分为8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。最后,作者用一章的篇幅给出了若干具有实用价值的建议。
(关注不迷路哈!!!)
文章目录
- 【读书笔记】《C陷阱与缺陷》第4章:连接问题解析 | 避开多档案编译的坑
- 前言
- 一、连接器的作用与工作原理
- 二、声明与定义的区别
- 1. 定义(Definition)
- 2. 声明(Declaration)
- 三、static修饰符避免命名冲突
- 1. 静态全局变量
- 2. 静态函数
- 四、函数声明与返回值陷阱
- 1. 未声明函数的默认行为
- 2. 参数类型匹配
- 3. printf/scanf的类型安全
- 五、外部类型的一致性检查
- 1. 类型不匹配的未定义行为
- 2. 数组与指针的混淆
- 六、头文件的最佳实践
- 1. 单一声明源原则
- 2. 头文件的作用
- 七、实战总结与建议
- 八、读后感
前言
- C应用通常由多个分别编译的模块组成,通过连接器合并为可执行文件。
- 连接器不了解C语言细节,因此跨模块的错误往往难以检测。
- 本章
