《C语言接口与实现:创建可重用软件的技术》一1.4 扩展阅读

简介:

本节书摘来自异步社区《C语言接口与实现:创建可重用软件的技术》一书中的第1章,第1.4节,作者 傅道坤,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.4 扩展阅读

对于标准C库来说,ANSI标准 [ANSI 1990]和技术上等效的ISO标准 [ISO 1990]是权威的参考文献,但 [Plauger,1992]一书给出了更详细的描述和完整的实现。同样,C语言相关问题的定论就在于这些标准,但[Kernighan and Ritchie,1988]一书却可能是最广为使用的参考。[Harbison and Steele,1995]一书的最新版本或许是C语言标准的最新的资料,它还描述了如何编写“干净的C”,即可以用C++编译器编译的C代码。[Jaeschke,1991]一书将标准C语言的精华浓缩为紧凑的词典格式,这份资料对C程序员来说也很有用。

[Kernighan and Plauger,1976]一书给出了文学程序的早期例子,当然作者对文学编程没太多认识,只是使用了专门开发的工具将代码集成到书中。WEB是首批明确为文学编程设计的工具之一。[Knuth,1992]一书描述了WEB和它的一些变体及用法,[Sewell,1989]一书是WEB的入门介绍。更简单的工具([Hanson,1987],[Ramsey,1994])发展了很长时间才提供WEB的大部分基本功能。本书使用notangle来提取代码块,它是Ramsey的noweb系统中的程序之一。[Fraser and Hanson,1995]一书也使用了noweb,该书以文学程序的形式给出了一个完整的C语言编译器。该编译器也是一个交叉编译器。

double取自 [Kernighan and Pike,1984],在该书中double是用AWK [Aho, Kernighan and Weinberger,1988]程序设计语言实现的。尽管年龄老迈,但[Kernighan and Pike,1984]仍然是UNIX程序设计哲学方面的最佳书籍之一。

学习良好的程序设计风格,最好的方法是阅读风格良好的程序。本书将遵循 [Kernighan and Pike,1984]和 [Kernighan and Ritchie,1988]中的风格,这种风格经久而不衰。[Kernighan and Plauger,1978]一书是程序设计风格方面的经典著作,但该书并不包含C语言的例子。Ledgard的小书[Ledgard,1987]提供了类似的建议,而 [Maguire,1993]从PC程序设计的角度阐述了程序设计风格问题。[Koenig,1989]一书暴露的C语言的黑暗角落,强调了那些应该避免的东西。[McConnell,1993]一书在与程序构建相关的许多方面提供了明智的建议,并针对使用goto语句的利弊两方面进行了不偏不倚的讨论。

学习编写高效的代码,最好的方法是在算法方面有扎实的基础,并阅读其他高效的代码。[Sedgewick,1990]一书纵览了大多数程序员都必须知道的所有重要算法,而 [Knuth,1973a]一书对算法基础进行了至为详细的讨论。[Bentley,1982]一书有170页,给出了编写高效代码方面的一些有益的建议和常识。

相关文章
|
1月前
|
编译器 C语言
初识C语言:扩展世界观,选择语句之行
初识C语言:扩展世界观,选择语句之行
|
2月前
|
SQL 关系型数据库 C语言
PostgreSQL SQL扩展 ---- C语言函数(三)
可以用C(或者与C兼容,比如C++)语言编写用户自定义函数(User-defined functions)。这些函数被编译到动态可加载目标文件(也称为共享库)中并被守护进程加载到服务中。“C语言函数”与“内部函数”的区别就在于动态加载这个特性,二者的实际编码约定本质上是相同的(因此,标准的内部函数库为用户自定义C语言函数提供了丰富的示例代码)
|
3月前
|
传感器 IDE 编译器
C语言与硬件接口
C语言与硬件接口
71 0
|
5月前
|
存储 移动开发 C语言
技术心得记录:嵌入式开发中常用到的C语言库函数
技术心得记录:嵌入式开发中常用到的C语言库函数
57 1
|
5月前
|
算法 Java 程序员
面向对象编程(OOP)通过对象组合构建软件,C语言虽是过程式语言,但可通过结构体、函数指针模拟OOP特性
【6月更文挑战第15天】面向对象编程(OOP)通过对象组合构建软件,C语言虽是过程式语言,但可通过结构体、函数指针模拟OOP特性。封装可使用结构体封装数据和方法,如模拟矩形对象。继承则通过结构体嵌套实现静态继承。多态可通过函数指针模拟,但C不支持虚函数表,实现复杂。C语言能体现OOP思想,但不如C++、Java等语言原生支持。
64 7
|
5月前
|
SQL 数据库 C语言
【sqlite的C语言访问接口】执行SQL语句的接口------sqlite3_exec回调函数的使用
【sqlite的C语言访问接口】执行SQL语句的接口------sqlite3_exec回调函数的使用
|
4月前
|
移动开发 C语言
C语言13-----输出常量的两个小扩展
C语言13-----输出常量的两个小扩展
|
4月前
|
前端开发 C语言
C语言08----注释扩展知识点,注释快捷键:ctrl+k,ctrl + C,取消快捷键 ctrl + K,ctrl + U
C语言08----注释扩展知识点,注释快捷键:ctrl+k,ctrl + C,取消快捷键 ctrl + K,ctrl + U
|
6月前
|
存储 缓存 算法
动态数组技术详解及其在C语言中的应用
动态数组技术详解及其在C语言中的应用
88 0
|
6月前
|
C语言
C语言中的字符串处理函数技术详解
C语言中的字符串处理函数技术详解
87 1