历史

本书的版权许可证

本书以 GNU Free Documentation License 发布,改编和包含了以下两本书的部分章节。

How To Think Like A Computer Scientist: C++ Version

作者Allen B. Downey。原书由Green Tea Press发行,可以从 http://www.greenteapress.com/ 下载到。

Programming from the Ground Up: An Introduction to Programming using Linux Assembly Language

作者Jonathan Bartlett。原书由Bartlett Publishing发行,可以从 http://savannah.nongnu.org/projects/pgubook/ 下载到。

本书的历史

2009年2月
本书首次发布在网络上,当时我在亚嵌教育工作,用公司的服务器,发布地址是 http://learn.akae.cn/
2009年12月

在本书的网络版发行大半年之后,电子工业出版社出版了本书,书名是《Linux C编程一站式学习》( http://book.douban.com/subject/4141733/ )。

本书的网络版从一开始就声明以 GNU Free Documentation License 发布,但在国内的出版环境下没人关心这个,出版社有自己的法律条款。显然,违反了 GNU Free Documentation License 不会有人追究,而违反了出版社的法律条款则是会有人追究的。所以,自从本书与出版社签了协议之后,网络版就停止了更新。最终出版的版本在网络版的基础上做了很多细节上的修订,主要是消除歧义和表达得更顺畅一些,其中大部分修订意见来自网络版的网友留言。

尽管如此,我还是向出版社争取到了在网络上发布本书最新修订的权利,但要在本书出版一年之后(也就是2010年12月以后)才可以在网络上更新。

2010年12月以后
我始终挂念着“2010年12月以后允许更新到网络上的部分”,但我已经换了工作,没有权限访问亚嵌教育的服务器akae.cn了,而且忙于新的工作,所以一直没有更新网络版。
2011年3月

本书加入了一些新的内容,由电子工业出版社重新出版,书名是《一站式学习C编程》( http://book.douban.com/subject/6025290/ 对豆瓣上9分+的评分我感到十分欣慰,谢谢各位读者了^^)。新增内容主要有以下几点:

  • 增加了关于Windows下的C编译器的介绍,把书名中的“Linux”字眼去掉了,希望更多的读者能读到本书。
  • 明确指出书中大部分例子的运行环境是Ubuntu 10.04 LTS 32位x86版,如果读者也使用同样的运行环境,一些平台相关的现象应该会和书中的描述一致。
  • “Makefile基础”一章中“自动处理头文件依赖关系”一节,我结合工作经验给出一个更好的解法,和上一版(《Linux C编程一站式学习》)的该小节完全不同。

很遗憾,出版社不同意在网络上更新这些新增内容,即使在出版一年之后也不行。

2012年7月

我辞去了工作准备出国,终于有时间处理“2010年12月以后允许更新到网络上的部分”了。根据之前和出版社的约定,《一站式学习C编程》的新增内容不能更新到网络上,所以我决定放弃这些内容,继续在原来的《Linux C编程一站式学习》的基础上更新。

我在自己的服务器 http://songjinshan.com/ 上重新发布本书,最新版本不涉及Windows下的C编译器的内容,将运行环境设定为最新的Ubuntu 12.04 LTS 32位x86版,至于“Makefile基础”一章中“自动处理头文件依赖关系”一节,我给出了完全不同于前两种解法的第三种解法。总之,最新版本不包含《一站式学习C编程》里的任何修订内容和新增内容。此外,最新版本包含英文版,我的英文写作水平一般般,为国外的生活做准备练练笔而已,献丑了。英文版和中文版并非一一对译的,但英文版肯定会覆盖中文版的所有技术点。