当前位置:首页 » 编程语言 » c语言程序设计徐宝文

c语言程序设计徐宝文

发布时间: 2022-11-19 06:10:04

㈠ 我已看完c语言入门经典,之后我想看一些开发软件的书,进阶的,高级的,有什么好书推荐一下

C语言经典着作导读 2013-10-30 14:35:00
分类: linux
http://blog.csdn.net/21aspnet/article/details/6558619
本人不是卖书的,我也不会给出任何购书链接,只是给C语言学习者推荐一条学习的方向。如果你喜欢看电子书网上很多,如果你喜欢纸质那么就买吧,经典的书值得收藏,是对版权的尊重!

基础篇
1.《写给大家看的C语言书(第2版)》

原书名: Absolute Beginner's Guide to C (2nd Edition)
原出版社: Sams
作者: (美)Greg Perry [作译者介绍]
译者:谢晓钢刘艳娟
丛书名:图灵程序设计丛书 C/C++系列
出版社:人民邮电出版社
ISBN:9787115216359
上架时间:2009-12-10
出版日期:2010 年1月
开本:16开
页码:308

说明:这本是入门最好的,最简单,最好懂

2.《C语言程序设计:现代方法:第2版》

老版,其实改变不大

原书名: C Programming: A Modern Approach, 2nd Edition
原出版社: W. W.Norton & Company
作者: (美)K. N. King [作译者介绍]
译者:吕秀锋黄倩
丛书名:图灵程序设计丛书 C/C++系列
出版社:人民邮电出版社
ISBN:9787115219572
上架时间:2010-3-16
出版日期:2010 年4月
开本:16开
页码:600

说明:被誉为"近10年来最好的一部C语言着作"。

3.《C语言解析教程》和《C语言教程》

原书名: C by Dissection The Essentials of C Programming FourthEdition
原出版社:Addison-Wesley
作者:(美)Al Kelley Ira Pohl [作译者介绍]
译者:麻志毅
丛书名:计算机科学丛书
出版社:机械工业出版社
ISBN:7111093364
上架时间:2002-1-24
出版日期:2002 年1月
页码:436

原书名: A Book on C: Programming in C (4th Edition)
原出版社: Addison-Wesley
作者:(美)Al Kelley, Ira Pohl [作译者介绍]
译者:徐波
丛书名:计算机科学丛书
出版社:机械工业出版社
ISBN:7111202139
上架时间:2006-12-13
出版日期:2007 年1月
说明:2本书相似度很大。《C语言解析教程》基础一点,而《C语言教程》相对难点,第二本先后2006年和2011年2次出版,内容是一样的,现在只能买新版,要说区别就是2011版比2006版贵点。这本书写的超级经典,值得一看。

4.《C语言大全第四版》

作者: 赫伯特?希尔特
译者: 王子恢戴健鹏等
出版社: 电子工业出版社
出版年: 2001-9-1
页数: 560
定价: 48.00
装帧: 平装(无盘)
ISBN: 9787505369153

说明:这本完全适合零基础的,另外这本书买不到了,虽然计算机更新换代很快,但是C永远不会淘汰,最起码20年内还不会。
入门书籍比较老了 2001年的有电子版的 讲的比较全 也很好懂 需要注意不要下载错了!
———————————————————————————————————————

5.《C Primer Plus》

副标题: Primer Plus
作者: StephenPrata / 云巅工作室
译者: 云巅工作室
出版社: 人民邮电出版社
出版年: 2005-2
页数: 626
定价: 60.00元
装帧: 平装
ISBN: 9787115130228

说明:有基础可以直接看这本经典的入门书。书很厚,近700页,却不没有让我觉得任何的烦琐。
———————————————————————————————————————
提高篇
1.《C和指针》(一定要看,如果只买一本C的书那么就是这本)

作者: Kenneth A.Reek
译者: 徐波
出版社: 人民邮电出版社
出版年: 2008年4月
页数: 448
定价: 65.00
装帧: 平装
ISBN: 9787115172013

说明:入门后提高的书,也可以当入门书,但是这本书其实有一定的深度,所以不推荐做第一本!
这本书最大的特点就是和指针结合在一起进行讲解。这是最经典的一本我觉得。
———————————————————————————————————————

2.《C程序设计语言(第2版·新版)》

作者: 克尼汉
译者: 徐宝文
出版社: 机械工业出版社
出版年: 2004-1
页数: 258
定价: 30.00元
装帧: 平装
ISBN: 9787111128069

说明:同名的太多,一定不要买国内的!这本书作者是C语言之父。所以推荐这本书不需要太多的理由吧。
入门后提高的书,也可以当入门书。数很薄但精简,内容详实,值得一读。
———————————————————————————————————————
3.《C语言核心技术》
作者: (美)Peter Prinz TonyCrawford
译者: O'ReillyTaiwan公司
丛书名:坚果系列
出版社:机械工业出版社
ISBN:9787111220503
上架时间:2007-8-28
出版日期:2007 年8月
开本:16开
页码:589

IN A NUTSHELL 系列是程序员的案头参考书. 本书由O‘REILLY台湾公司翻译,从根本上保证了翻译的质量。
———————————————————————————————————————

4.《C 陷阱与缺陷》

作者: Andrew Koenig
译者: 高巍
出版社: 人民邮电出版社
出版年: 2008-2
页数: 172
定价: 30.00元
装帧: 平装
ISBN: 9787115171795

说明:提高的书。这本书虽然着于1989年,但其中的要点却不过时,讲的全是C语言的精华,已经第18次印刷了,多本书里提到这本书。书很薄。
———————————————————————————————————————
5.《C专家编程

作者: Peter Van / Der Linden
译者: 徐波
出版社: 人民邮电出版社
出版年: 2008-2
页数: 291
定价: 45.00元
装帧: 平装
ISBN: 9787115171801
说明:提高版,和.《C和指针》.《C 陷阱与缺陷》是一个系列。
———————————————————————————————————————
6《你必须知道的495个C语言问题》

作者: Steve Summit
出版社: 人民邮电出版社
出版年: 2009-2
页数: 260
定价: 45.00元
装帧: 平装
丛书: 图灵程序设计丛书
ISBN: 9787115194329

说明:这本书讲的都是技巧总结,都是经常遇到的一些容易混淆的问题。
———————————————————————————————————————
数据结构和算法

1.《数据结构基础(C语言版)第二版》

作者: (美)Ellis Horowitz
译者:朱仲涛
丛书名:世界着名计算机教材精选
出版社:清华大学出版社
ISBN:9787302186960
上架时间:2009-3-27
出版日期:2009 年3月
开本:16开
页码:470

下面是第一版 2本书居然是2个出版社分别翻译 买一本就够了千万不要买重

作者: Ellis Horowitz / Sartaj Sahni / Susan Anderson-Freed
译者: 李建中 / 张岩 / 李治军
出版社: 机械工业出版社
出版年: 2006-7
页数: 376
定价: 48.00元
装帧: 平装
ISBN: 9787111187981

说明:层次清晰,代码质量高。 有一定难度,需要有基础。书非常经典,适合计算机专业的人进行深入的学习。

———————————————————————————————————————

2.《数据结构与算法分析:C语言描述(原书第2版)》

副标题: C语言描述
作者: 维斯
译者: 冯舜玺
出版社: 机械工业出版社
出版年: 2004-1
页数: 391
定价: 35.00元
装帧: 平装
ISBN: 9787111127482
说明:学好基础以后,还需要看看算法数据结构的书。
里面的分析数学公式恰到好处,没有算法导论的令人望而生畏,也没有国内图书的草草了事,既学习了数据结构又有刚刚好的算法分析,很容易使人产生共鸣。

㈡ 浙江大学计算机系用的《数据结构》教材的作者是谁

如果你说的是考研的话,那么计算机系要用的书是:
《Operating System Concepts》(Sixth Edition),Abraham Silberschatz等,高等教育出版社影印版;《计算机组成与设计》潘雪增、平玲娣,浙江大学出版社2004年1月版;《C语言程序设计》第2版(《The C Programming language》Second Edition 的中译本),ISDN-7-111-07589-7,徐宝文等译,机械工业出版社,2001年3月;《数据结构》第2版,严蔚敏编,清华大学出版社。

其中数据结构是《数据结构》第2版,严蔚敏编,清华大学出版社。

但是如果你说的教材的话,是原版的书,劝你到浙大来买原版的。而且不仅是浙大计算机系用这个教材,浙大的很多学院都要求用这个学习数据结构的。
《DATA STRUCTRUES AND ALGORITHM ANALYSIS IN C (second edition)》
Mark Allen Weiss,Addison Wesley Longman,Inc,1997

㈢ 《C程序设计语言第2版·新版》pdf下载在线阅读全文,求百度网盘云资源

《C程序设计语言(第2版·新版)》([美] Brian W. Kernighan)电子书网盘下载免费在线阅读

链接: https://pan..com/s/1txJqYzmjYS-BSw43eLWrnQ

提取码: sejp

书名:C程序设计语言(第2版·新版)

作者:[美] Brian W. Kernighan

译者:徐宝文

豆瓣评分:9.4

出版社:机械工业出版社

出版年份:2004-1

页数:258

内容简介:

在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书作者是C语言的设计者之一Dennis M. Ritchie和着名计算机科学家Brian W. Kernighan合着的一本介绍C语言的权威经典着作。我们现在见到的大量论述C语言程序设计的教材和专着均以此书为蓝本。

原着第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,World"程序就是由本书首次引入的,现在,这一程序已经成为众多程序设计语言入门的第一课。原着第2版根据1987年制定的ANSIC标准做了适当的修订.引入了最新的语言形式,并增加了新的示例,通过简洁的描述、典型的示例,作者全面、系统、准确地讲述了C语言的各个特性以及程序设计的基本方法。

对于计算机从业人员来说,本书是一本必读的程序设计语言方面的参考书。

作者简介:

Brian W. Kernighan,贝尔实验室计算科学研究中心高级研究人员,着名的计算机科学家。参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的着作,如《The Elements of Programming Style》《The Practice of Programming》《The UNIX Programming Environment》《The AWK Language》《Software Tools》等。

Dennis M. Ritchie,1967年加入贝尔实验室。他和 Ken L. Thompson 两人共同设计并实现的C语言改变了程序设计语言发展的轨迹,是程序设计语言发展过程中的一个重要里程碑。与此同时,他们还设计并实现了UNIX操作系统。正是由于这两项巨大贡献,Dennis M. Ritchie 于1983年获得了计算机界的最高奖——图灵奖。此外,他还获得了ACM、IEEE、贝尔实验室等授予的多种奖项.。

㈣ c语言入门的电子书

如果是没接触过C同学,建议先看一看谭浩强的《C程序设计》(第三版),清华大学出版社
然后再看看C语言的四书五经(下附),基本上把这些看完C就算是入门了,重要的是平时学习过程中要注意
结合实际,多多上机实践才好
祝你学习有成。
哦,还是不要看TXT的了,会有部分乱码的;pdf的虽然大一些,但一目了然,更有助于你的学习的

一、The C Programming Language
C程序设计语言(第2版·新版)
原出版社: Prentice Hall PTR
作者: [美]Brian W.Kernighan,Dennis M.Ritchie
译者: 徐宝文 李志
书号: 7-111-12806-0
页码: 258
开本: 16开 版次:2-1
丛书名: 计算机科学丛书
出版社: 机械工业出版社
出版日期: 2004-1-1
定价: ¥30.00

二、Pointers on C
C和指针
原出版社: Pearson Ecation
作者: Kenneth A.Reek
译者: 徐波
书号: 7-115-11456-0
页码: 450
开本: 16开 版次:1-1
丛书名: C和C++实务精选
出版社: 人民邮电出版社
出版日期: 2003-9-1
定价: ¥55.00

三、Expert C Programming
C专家编程
原出版社: PH PTR
作者: Perter Van Der LinDen
译者: 徐波
书号: 7-115-10627-4
页码: 291
开本: 16开 版次:1-1
丛书名: C和C++实务精选
出版社: 人民邮电出版社
出版日期: 2002-12-1
定价: ¥40.00

四、C Traps and Pitfalls
C陷阱与缺陷
原出版社: Addison Wesley
作者: Andrew Koenig
译者: 高巍
书号: 7-115-10623-1
页码: 172
开本: 16开 版次:1-1
丛书名: C和C++实务精选
出版社: 人民邮电出版社
出版日期: 2002-11-1
定价: ¥30.00

㈤ 《C程序设计语言第2版·新版》epub下载在线阅读,求百度网盘云资源

《C程序设计语言(第2版·新版)》([美] Brian W. Kernighan)电子书网盘下载免费在线阅读

资源链接:

链接: https://pan..com/s/1VcMvPqk3VW0er-VOqODP3A

提取码: ixs4

书名:C程序设计语言(第2版·新版)

作者:[美] Brian W. Kernighan

译者:徐宝文

豆瓣评分:9.4

出版社:机械工业出版社

出版年份:2004-1

页数:258

内容简介:在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书作者是C语言的设计者之一Dennis M. Ritchie和着名计算机科学家Brian W. Kernighan合着的一本介绍C语言的权威经典着作。我们现在见到的大量论述C语言程序设计的教材和专着均以此书为蓝本。

原着第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,World"程序就是由本书首次引入的,现在,这一程序已经成为众多程序设计语言入门的第一课。原着第2版根据1987年制定的ANSIC标准做了适当的修订.引入了最新的语言形式,并增加了新的示例,通过简洁的描述、典型的示例,作者全面、系统、准确地讲述了C语言的各个特性以及程序设计的基本方法。

对于计算机从业人员来说,本书是一本必读的程序设计语言方面的参考书。

作者简介:Brian W. Kernighan,贝尔实验室计算科学研究中心高级研究人员,着名的计算机科学家。参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的着作,如《The Elements of Programming Style》《The Practice of Programming》《The UNIX Programming Environment》《The AWK Language》《Software Tools》等。

Dennis M. Ritchie,1967年加入贝尔实验室。他和 Ken L. Thompson 两人共同设计并实现的C语言改变了程序设计语言发展的轨迹,是程序设计语言发展过程中的一个重要里程碑。与此同时,他们还设计并实现了UNIX操作系统。正是由于这两项巨大贡献,Dennis M. Ritchie 于1983年获得了计算机界的最高奖——图灵奖。此外,他还获得了ACM、IEEE、贝尔实验室等授予的多种奖项.。

㈥ 求这本K&R《C程序设计语言》书籍的出版社

㈦ C语言四书五经的书名,英文名,出版社

一、The C Programming Language
C程序设计语言(第2版·新版)
原出版社: Prentice Hall PTR
作者: [美]Brian W.Kernighan,Dennis M.Ritchie
译者: 徐宝文 李志
书号: 7-111-12806-0
页码: 258
开本: 16开 版次:2-1
丛书名: 计算机科学丛书
出版社: 机械工业出版社
出版日期: 2004-1-1
定价: ¥30.00 二、Pointers on C
C和指针
原出版社: Pearson Ecation
作者: Kenneth A.Reek
译者: 徐波
书号: 7-115-11456-0
页码: 450
开本: 16开 版次:1-1
丛书名: C和C++实务精选
出版社: 人民邮电出版社
出版日期: 2003-9-1
定价: ¥55.00
三、Expert C Programming
C专家编程
原出版社: PH PTR
作者: Perter Van Der LinDen
译者: 徐波
书号: 7-115-10627-4
页码: 291
开本: 16开 版次:1-1
丛书名: C和C++实务精选
出版社: 人民邮电出版社
出版日期: 2002-12-1
定价: ¥40.00 四、C Traps and Pitfalls
C陷阱与缺陷
原出版社: Addison Wesley
作者: Andrew Koenig
译者: 高巍
书号: 7-115-10623-1
页码: 172
开本: 16开 版次:1-1
丛书名: C和C++实务精选
出版社: 人民邮电出版社
出版日期: 2002-11-1
定价: ¥30.00

㈧ 如何成为一个Linux内核开发者

如何参与Linux内核开发
---------------------

这是一篇将如何参与Linux内核开发的相关问题一网打尽的终极秘笈。它将指导你
成为一名Linux内核开发者,并且学会如何同Linux内核开发社区合作。它尽可能不
包括任何关于内核编程的技术细节,但会给你指引一条获得这些知识的正确途径。

如果这篇文章中的任何内容不再适用,请给文末列出的文件维护者发送补丁。

入门
----

你想了解如何成为一名Linux内核开发者?或者老板吩咐你“给这个设备写个Linux
驱动程序”?这篇文章的目的就是教会你达成这些目标的全部诀窍,它将描述你需
要经过的流程以及给出如何同内核社区合作的一些提示。它还将试图解释内核社区
为何这样运作。

Linux内核大部分是由C语言写成的,一些体系结构相关的代码用到了汇编语言。要
参与内核开发,你必须精通C语言。除非你想为某个架构开发底层代码,否则你并
不需要了解(任何体系结构的)汇编语言。下面列举的书籍虽然不能替代扎实的C
语言教育和多年的开发经验,但如果需要的话,做为参考还是不错的:
- "The C Programming Language" by Kernighan and Ritchie [Prentice Hall]
《C程序设计语言(第2版·新版)》(徐宝文 李志 译)[机械工业出版社]
- "Practical C Programming" by Steve Oualline [O'Reilly]
《实用C语言编程(第三版)》(郭大海 译)[中国电力出版社]
- "C: A Reference Manual" by Harbison and Steele [Prentice Hall]
《C语言参考手册(原书第5版)》(邱仲潘 等译)[机械工业出版社]

Linux内核使用GNU C和GNU工具链开发。虽然它遵循ISO C89标准,但也用到了一些
标准中没有定义的扩展。内核是自给自足的C环境,不依赖于标准C库的支持,所以
并不支持C标准中的部分定义。比如long long类型的大数除法和浮点运算就不允许
使用。有时候确实很难弄清楚内核对工具链的要求和它所使用的扩展,不幸的是目
前还没有明确的参考资料可以解释它们。请查阅gcc信息页(使用“info gcc”命令
显示)获得一些这方面信息。

请记住你是在学习怎么和已经存在的开发社区打交道。它由一群形形色色的人组成,
他们对代码、风格和过程有着很高的标准。这些标准是在长期实践中总结出来的,
适应于地理上分散的大型开发团队。它们已经被很好得整理成档,建议你在开发
之前尽可能多的学习这些标准,而不要期望别人来适应你或者你公司的行为方式。

法律问题
--------

Linux内核源代码都是在GPL(通用公共许可证)的保护下发布的。要了解这种许可
的细节请查看源代码主目录下的COPYING文件。如果你对它还有更深入问题请联系
律师,而不要在Linux内核邮件组上提问。因为邮件组里的人并不是律师,不要期
望他们的话有法律效力。

对于GPL的常见问题和解答,请访问以下链接:
http://www.gnu.org/licenses/gpl-faq.html

文档
----

Linux内核代码中包含有大量的文档。这些文档对于学习如何与内核社区互动有着
不可估量的价值。当一个新的功能被加入内核,最好把解释如何使用这个功能的文
档也放进内核。当内核的改动导致面向用户空间的接口发生变化时,最好将相关信
息或手册页(manpages)的补丁发到[email protected],以向手册页(manpages)
的维护者解释这些变化。

以下是内核代码中需要阅读的文档:
README
文件简要介绍了Linux内核的背景,并且描述了如何配置和编译内核。内核的
新用户应该从这里开始。

Documentation/Changes
文件给出了用来编译和使用内核所需要的最小软件包列表。

Documentation/CodingStyle
描述Linux内核的代码风格和理由。所有新代码需要遵守这篇文档中定义的规
范。大多数维护者只会接收符合规定的补丁,很多人也只会帮忙检查符合风格
的代码。

Documentation/SubmittingPatches
Documentation/SubmittingDrivers
这两份文档明确描述如何创建和发送补丁,其中包括(但不仅限于):
- 邮件内容
- 邮件格式
- 选择收件人
遵守这些规定并不能保证提交成功(因为所有补丁需要通过严格的内容和风格
审查),但是忽视他们几乎就意味着失败。

其他关于如何正确地生成补丁的优秀文档包括:
"The Perfect Patch"
http://userweb.kernel.org/~akpm/stuff/tpp.txt
"Linux kernel patch submission format"
http://linux.yyz.us/patch-format.html

Documentation/stable_api_nonsense.txt
论证内核为什么特意不包括稳定的内核内部API,也就是说不包括像这样的特
性:
- 子系统中间层(为了兼容性?)
- 在不同操作系统间易于移植的驱动程序
- 减缓(甚至阻止)内核代码的快速变化
这篇文档对于理解Linux的开发哲学至关重要。对于将开发平台从其他操作系
统转移到Linux的人来说也很重要。

Documentation/SecurityBugs
如果你认为自己发现了Linux内核的安全性问题,请根据这篇文档中的步骤来
提醒其他内核开发者并帮助解决这个问题。

Documentation/ManagementStyle
描述内核维护者的工作方法及其共有特点。这对于刚刚接触内核开发(或者对
它感到好奇)的人来说很重要,因为它解释了很多对于内核维护者独特行为的
普遍误解与迷惑。

Documentation/stable_kernel_rules.txt
解释了稳定版内核发布的规则,以及如何将改动放入这些版本的步骤。

Documentation/kernel-docs.txt
有助于内核开发的外部文档列表。如果你在内核自带的文档中没有找到你想找
的内容,可以查看这些文档。

Documentation/applying-patches.txt
关于补丁是什么以及如何将它打在不同内核开发分支上的好介绍

内核还拥有大量从代码自动生成的文档。它包含内核内部API的全面介绍以及如何
妥善处理加锁的规则。生成的文档会放在 Documentation/DocBook/目录下。在内
源码的主目录中使用以下不同命令将会分别生成PDF、Postscript、HTML和手册
页等不同格式的文档:
make pdfdocs
make psdocs
make htmldocs
make mandocs

如何成为内核开发者
------------------
如果你对Linux内核开发一无所知,你应该访问“Linux内核新手”计划:
http://kernelnewbies.org
它拥有一个可以问各种最基本的内核开发问题的邮件列表(在提问之前一定要记得
查找已往的邮件,确认是否有人已经回答过相同的问题)。它还拥有一个可以获得
实时反馈的IRC聊天频道,以及大量对于学习Linux内核开发相当有帮助的文档。

网站简要介绍了源代码组织结构、子系统划分以及目前正在进行的项目(包括内核
中的和单独维护的)。它还提供了一些基本的帮助信息,比如如何编译内核和打补
丁。

如果你想加入内核开发社区并协助完成一些任务,却找不到从哪里开始,可以访问
“Linux内核房管员”计划:
http://kernelnewbies.org/KernelJanitors
这是极佳的起点。它提供一个相对简单的任务列表,列出内核代码中需要被重新
整理或者改正的地方。通过和负责这个计划的开发者们一同工作,你会学到将补丁
集成进内核的基本原理。如果还没有决定下一步要做什么的话,你还可能会得到方
向性的指点。

如果你已经有一些现成的代码想要放到内核中,但是需要一些帮助来使它们拥有正
确的格式。请访问“内核导师”计划。这个计划就是用来帮助你完成这个目标的。它
是一个邮件列表,地址如下:
http://selenic.com/mailman/listinfo/kernel-mentors

在真正动手修改内核代码之前,理解要修改的代码如何运作是必需的。要达到这个
目的,没什么办法比直接读代码更有效了(大多数花招都会有相应的注释),而且
一些特制的工具还可以提供帮助。例如,“Linux代码交叉引用”项目就是一个值得
特别推荐的帮助工具,它将源代码显示在有编目和索引的网页上。其中一个更新及
时的内核源码库,可以通过以下地址访问:
http://sosdg.org/~coywolf/lxr/

开发流程
--------

目前Linux内核开发流程包括几个“主内核分支”和很多子系统相关的内核分支。这
些分支包括:
- 2.6.x主内核源码树
- 2.6.x.y -stable内核源码树
- 2.6.x -git内核补丁集
- 2.6.x -mm内核补丁集
- 子系统相关的内核源码树和补丁集

2.6.x内核主源码树
-----------------
2.6.x内核是由Linus Torvalds(Linux的创造者)亲自维护的。你可以在
kernel.org网站的pub/linux/kernel/v2.6/目录下找到它。它的开发遵循以下步
骤:
- 每当一个新版本的内核被发布,为期两周的集成窗口将被打开。在这段时间里
维护者可以向Linus提交大段的修改,通常这些修改已经被放到-mm内核中几个
星期了。提交大量修改的首选方式是使用git工具(内核的代码版本管理工具
,更多的信息可以在http://git.or.cz/获取),不过使用普通补丁也是可以
的。
- 两个星期以后-rc1版本内核发布。之后只有不包含可能影响整个内核稳定性的
新功能的补丁才可能被接受。请注意一个全新的驱动程序(或者文件系统)有
可能在-rc1后被接受是因为这样的修改完全独立,不会影响其他的代码,所以
没有造成内核退步的风险。在-rc1以后也可以用git向Linus提交补丁,不过所
有的补丁需要同时被发送到相应的公众邮件列表以征询意见。
- 当Linus认为当前的git源码树已经达到一个合理健全的状态足以发布供人测试
时,一个新的-rc版本就会被发布。计划是每周都发布新的-rc版本。
- 这个过程一直持续下去直到内核被认为达到足够稳定的状态,持续时间大概是
6个星期。
- 以下地址跟踪了在每个-rc发布中发现的退步列表:
http://kernelnewbies.org/known_regressions

关于内核发布,值得一提的是Andrew Morton在linux-kernel邮件列表中如是说:
“没有人知道新内核何时会被发布,因为发布是根据已知bug的情况来决定
的,而不是根据一个事先制定好的时间表。”

2.6.x.y -stable(稳定版)内核源码树
-----------------------------------
由4个数字组成的内核版本号说明此内核是-stable版本。它们包含基于2.6.x版本
内核的相对较小且至关重要的修补,这些修补针对安全性问题或者严重的内核退步。

这种版本的内核适用于那些期望获得最新的稳定版内核并且不想参与测试开发版或
者实验版的用户。

如果没有2.6.x.y版本内核存在,那么最新的2.6.x版本内核就相当于是当前的稳定
版内核。

2.6.x.y版本由“稳定版”小组(邮件地址<[email protected]>)维护,一般隔周发
布新版本。

内核源码中的Documentation/stable_kernel_rules.txt文件具体描述了可被稳定
版内核接受的修改类型以及发布的流程。

2.6.x -git补丁集
----------------
Linus的内核源码树的每日快照,这个源码树是由git工具管理的(由此得名)。这
些补丁通常每天更新以反映Linus的源码树的最新状态。它们比-rc版本的内核源码
树更具试验性质,因为这个补丁集是全自动生成的,没有任何人来确认其是否真正
健全。

2.6.x -mm补丁集
---------------
这是由Andrew Morton维护的试验性内核补丁集。Andrew将所有子系统的内核源码
和补丁拼凑到一起,并且加入了大量从linux-kernel邮件列表中采集的补丁。这个
源码树是新功能和补丁的试炼场。当补丁在-mm补丁集里证明了其价值以后Andrew
或者相应子系统的维护者会将补丁发给Linus以便集成进主内核源码树。

在将所有新补丁发给Linus以集成到主内核源码树之前,我们非常鼓励先把这些补
丁放在-mm版内核源码树中进行测试。

这些内核版本不适合在需要稳定运行的系统上运行,因为运行它们比运行任何其他
内核分支都更具有风险。

如果你想为内核开发进程提供帮助,请尝试并使用这些内核版本,并在
linux-kernel邮件列表中提供反馈,告诉大家你遇到了问题还是一切正常。

通常-mm版补丁集不光包括这些额外的试验性补丁,还包括发布时-git版主源码树
中的改动。

-mm版内核没有固定的发布周期,但是通常在每两个-rc版内核发布之间都会有若干
个-mm版内核发布(一般是1至3个)。

子系统相关内核源码树和补丁集
----------------------------
相当一部分内核子系统开发者会公开他们自己的开发源码树,以便其他人能了解内
核的不同领域正在发生的事情。如上所述,这些源码树会被集成到-mm版本内核中。

下面是目前可用的一些内核源码树的列表:
通过git管理的源码树:
- Kbuild开发源码树, Sam Ravnborg <[email protected]>
git.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git

- ACPI开发源码树, Len Brown <[email protected]>
git.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git

- 块设备开发源码树, Jens Axboe <[email protected]>
git.kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git

- DRM开发源码树, Dave Airlie <[email protected]>
git.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git

- ia64开发源码树, Tony Luck <[email protected]>
git.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git

- ieee1394开发源码树, Jody McIntyre <[email protected]>
git.kernel.org:/pub/scm/linux/kernel/git/scjody/ieee1394.git

- infiniband开发源码树, Roland Dreier <[email protected]>
git.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git

- libata开发源码树, Jeff Garzik <[email protected]>
git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git

- 网络驱动程序开发源码树, Jeff Garzik <[email protected]>
git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git

- pcmcia开发源码树, Dominik Brodowski <[email protected]>
git.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git

- SCSI开发源码树, James Bottomley <[email protected]>
git.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git

使用quilt管理的补丁集:
- USB, PCI, 驱动程序核心和I2C, Greg Kroah-Hartman <[email protected]>
kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
- x86-64, 部分i386, Andi Kleen <[email protected]>
ftp.firstfloor.org:/pub/ak/x86_64/quilt/

其他内核源码树可以在http://git.kernel.org的列表中和MAINTAINERS文件里
找到。

报告bug
-------

bugzilla.kernel.org是Linux内核开发者们用来跟踪内核Bug的网站。我们鼓励用
户在这个工具中报告找到的所有bug。如何使用内核bugzilla的细节请访问:
http://test.kernel.org/bugzilla/faq.html

内核源码主目录中的REPORTING-BUGS文件里有一个很好的模板。它指导用户如何报
告可能的内核bug以及需要提供哪些信息来帮助内核开发者们找到问题的根源。

利用bug报告
-----------

练习内核开发技能的最好办法就是修改其他人报告的bug。你不光可以帮助内核变
得更加稳定,还可以学会如何解决实际问题从而提高自己的技能,并且让其他开发
者感受到你的存在。修改bug是赢得其他开发者赞誉的最好办法,因为并不是很多
人都喜欢浪费时间去修改别人报告的bug。

要尝试修改已知的bug,请访问http://bugzilla.kernel.org网址。如果你想获得
最新bug的通知,可以订阅bugme-new邮件列表(只有新的bug报告会被寄到这里)
或者订阅bugme-janitor邮件列表(所有bugzilla的变动都会被寄到这里)。

https://lists.linux-foundation.org/mailman/listinfo/bugme-new
https://lists.linux-foundation.org/mailman/listinfo/bugme-janitors

邮件列表
--------

正如上面的文档所描述,大多数的骨干内核开发者都加入了Linux Kernel邮件列
表。如何订阅和退订列表的细节可以在这里找到:
http://vger.kernel.org/vger-lists.html#linux-kernel
网上很多地方都有这个邮件列表的存档(archive)。可以使用搜索引擎来找到这些
存档。比如:
http://dir.gmane.org/gmane.linux.kernel
在发信之前,我们强烈建议你先在存档中搜索你想要讨论的问题。很多已经被详细
讨论过的问题只在邮件列表的存档中可以找到。

大多数内核子系统也有自己独立的邮件列表来协调各自的开发工作。从
MAINTAINERS文件中可以找到不同话题对应的邮件列表。

很多邮件列表架设在kernel.org服务器上。这些列表的信息可以在这里找到:
http://vger.kernel.org/vger-lists.html

在使用这些邮件列表时,请记住保持良好的行为习惯。下面的链接提供了与这些列
表(或任何其它邮件列表)交流的一些简单规则,虽然内容有点滥竽充数。
http://www.albion.com/netiquette/

当有很多人回复你的邮件时,邮件的抄送列表会变得很长。请不要将任何人从抄送
列表中删除,除非你有足够的理由这么做。也不要只回复到邮件列表。请习惯于同
一封邮件接收两次(一封来自发送者一封来自邮件列表),而不要试图通过添加一
些奇特的邮件头来解决这个问题,人们不会喜欢的。

记住保留你所回复内容的上下文和源头。在你回复邮件的顶部保留“某某某说到……”
这几行。将你的评论加在被引用的段落之间而不要放在邮件的顶部。

如果你在邮件中附带补丁,请确认它们是可以直接阅读的纯文本(如
Documentation/SubmittingPatches文档中所述)。内核开发者们不希望遇到附件
或者被压缩了的补丁。只有这样才能保证他们可以直接评论你的每行代码。请确保
你使用的邮件发送程序不会修改空格和制表符。一个防范性的测试方法是先将邮件
发送给自己,然后自己尝试是否可以顺利地打上收到的补丁。如果测试不成功,请
调整或者更换你的邮件发送程序直到它正确工作为止。

总而言之,请尊重其他的邮件列表订阅者。

㈨ C语言四书五经是哪4本书

C程序设计之四书五经

自从Dennis M.Ritchie于1973年设计并实现C语言以来,计算机程序设计领域已经发生了巨大的变化。以C语言为根基的C++、Java和C#等面向对象语言相继诞生,并在各自领域大获成功。今天,C及其后裔几乎统治了计算机程序设计世界。可以这么说,C语言的诞生是现代程序语言革命的起点,它改变了程序设计语言发展的轨迹,是程序设计语言发展史中的一个里程碑。

然而,C并不仅仅是其他语言的起点和基础,否则它早已成为程序设计语言发展过程中又一个被遗弃者。和当初发明时一样,C语言今天依然至关重要。它的表达力、效率、简练、紧凑、对机器的最终控制以及跨平台的高度移植性,使其在系统编程、嵌入式编程等领域一直占据着统治地位,而C99标准的制订则再一次使C语言焕发出新的活力。下文介绍C程序设计领域中的几本好书,其中一些堪称经典。

1. Brian W.Kernighan, Dennis M.Ritchie,《C程序设计语言》,机械工业出版社

这是迄今为止在所有程序设计语言书籍中最广受尊敬的一部经典,是任何一名C程序员的必读之作。因为出自C语言的设计者Dennis M.Ritchie和着名的计算机科学家Brian W.Kernighan之手,它被昵称为“K&R C”。是它首先引入了“Hello World!”程序,这个程序几乎成了后来任何一本入门性程序设计语言书籍中的第一个例子。

如同C语言本身简洁紧凑而极具威力一样,这本书轻薄短小而极富张力。通过简洁的描述和典型的示例,它全面、系统、准确地讲述了C语言的各个特性以及C程序设计的基本方法,内容涵盖基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口以及标准库等内容。

简洁清晰是这本书最大的特色。这本小书可以教给你许多比它厚几倍的“大部头”的知识。我认为那些动辄洋洋洒洒拼凑出好几百页乃至上千页的技术作者应该好好向K&R学一学。对于中、高级程序员而言,如果希望迅速获得C语言的严肃知识而又不愿意多花费哪怕一丁点时间,这本书就是首选。

顺便说一句,这本书的索引制作非常出色,极具实用价值,这可能首先要归功于正文部分的简明扼要。此外,尽管它看上去很像一本教程,但其实更是一本写给专业程序员的指南。如果你不具备任何其他语言程序设计背景或基本的C语言知识,这本书也许并不适合用作你的C语言启蒙读物。

2. Perter Van Der LinDen,《C专家编程》,人民邮电出版社

C语言是严肃的程序员语言,但这并不意味着C语言书籍必须板着面孔说教。在这本被C程序员昵称为“鱼书”(封面上有一条“丑陋的”腔棘鱼)的着作中,作为SUN公司编译器和操作系统核心开发组成员之一,Peter淋漓尽致地展示了其深厚的技术沉淀、丰富的项目经验、高超的写作技巧以及招牌式的幽默。在这部作品中,作者以流畅的文字、诙谐的笔法将逸闻典故、智慧和幽默自然地融入技术描述中,读来宛若一本小说,极富趣味。

本书讲述了C语言的历史、语言特性、声明、数组、指针、连接、运行时以及内存使用等知识,揭示了C语言中许多隐晦之处,尤其深入解析了声明、数组和指针、内存使用等方面的细节。要想成为一名专家级C程序员,这些内容都是必须掌握的。和其他满是抽象例子的C语言书籍不同,这本书充满了大量的来自真实世界的C程序设计实例,它们对C程序员具有很高的参照价值。另外,每一章都以极富趣味的“轻松一下”收尾,而附录A“程序员工作面试的秘密”则是任何语言的程序员在应聘工作前增强自信的好材料。

我怀疑真正的C专家可能用不着看这本书 — 从内容到组织方式到行文风格都决定了这是一本轻松愉快的“从菜鸟到高手”的进阶读本,所以,它理应拥有更广泛的读者群。初级程序员往往更需要热情的鼓励,在阅读这本书的过程中,你定会深深地被作者对编程的激情所感染。

世间并无完美。我认为这本书的缺陷在于,和大多数平庸的C语言书籍一样,它画蛇添足地加入了一章关于C++的描述。在今天看来,这个描述既不全面也有失公允。不过,鉴于作者是在1994年从一名C程序员的角度去观察C++,这一点也就不足为奇了。

3. Samuel P. Harbison, Guy L. Steele,《C语言参考手册(第五版)》(影印版),人民邮电出版社

在C语言参考手册类书籍里,Samuel P. Harbison 和Guy L. Steele合着的《C: A Reference Manual》是非常出色的一本。这本手册的第五版新增了对C99标准的介绍,以便满足新时期C语言学习的需要。全书共分为两大部分,第一部分专注于C语言特性,第二部分则全面讨论了C标准库。本书涵盖C99、C89、传统的C、所有版本的C运行库以及编写与C++兼容的C代码等一切知识。

这本手册只是中等厚度,但它比“比它更厚”的其他参考手册更清晰地描述了C语言的现在和过去的方方面面。整本手册技术细节描述精确,组织条理清楚,内容完备详尽而又简明扼要。可以这么说,它在广度、深度和精度方面都是出类拔萃的。对于中、高级C程序员而言,这本手册值得常备案头,它几乎肯定要比K&R的着作使用频率更高。

2004年2月1日补充:我手头有这本书的中文版:《C语言参考手册》(机械工业出版社出版)。它在很大程度上减轻了我的查阅负担,不过偶尔也增加了理解上的困难。

4. David Hanson,《C语言接口与实现:创建可重用软件的技术》,机械工业出版社

C语言能够历经三十多年而不衰,一个重要的原因在于它的适应能力。在这“复用”、“面向对象”、“组件”、“异常处理”等先进机制漫天飞舞的年代,C语言仍然能够凭借它小而优雅的语言特性,在相当程度上满足现代软件体系架构提出的要求。只不过,想要达到这个程度,必须要在C的应用功力上达到最高层次。在嵌入式、系统软件以及对性能要求极高的系统开发中,开发人员必须达到这样的层次,熟练掌握C语言的高级特性,才能够同时满足效率和灵活性、复用性的要求。可惜,虽然C语言技术图书汗牛充栋,但是关注这个峰顶之域的作品却是屈指可数。David Hanson的《C Interfaces and Implementations》就是个中翘楚。

David Hanson是业内大名鼎鼎的自由编译器lcc的合作者。在这个项目中,他负责提供高度可复用的基础架构。在不断的实践中,他完全使用ANSI C形成了一整套可复用组件库。这套组件库架构清晰,性能优异,而且提供了很多高级的特性,比如类Win32 SEH的异常处理机制,可移植的线程库,高性能的内存池,丰富的可复用数据结构组件。David Hanson把他在创作这些组件的过程中所积累的心得以及对其源码的精致剖析原原本本地写在了这本书里。这样的着作,当然堪称C语言领域里的铭心绝品。难怪已故着名技术作家Richard Stevens对此书赞不绝口,他说:“这本书中的技术,对于大部分C程序员来说,已经遗忘得太久了。”对于希望能在C语言应用上达到最高层次的核心程序员而言,这本书是难得的必读之作。

其他

除了以上四本书以外,我还乐意推荐Andrew Koenig的着作《C陷阱和缺陷》(人民邮电出版社)和Deitel父子合着的《C How to Program》两本书。

Andrew Koenig是世界上屈指可数的C++专家,他的这本书可能是最薄的一本C语言经典。它简明扼要地讲述了C程序设计中的陷阱和缺陷,包括词法陷阱、语法陷阱、语义陷阱、连接、库函数、预处理器以及可移植性缺陷等,最后一章还给出了关于如何减少程序错误的建议以及前面各章问题的参考答案。尽管这个小册子成书于C89标准制定之前,然而,即使到了C99早已颁布的今天,书中提到的大多数陷阱和缺陷一如十五年前那样使我们警醒。

Deitel父子合着的《C How to Program》一直是非常好的C语言入门教程,我手头的中译本名为《C程序设计教程》(机械工业出版社出版,原书第二版)。除了对技术的正规描述(辅以许多简明扼要的例子)外,每一章后面都带有小结、术语、常见的程序设计错误、良好的程序设计习惯、性能忠告、可移植性忠告、软件工程评述、自我测验练习及答案等。整书内容清晰,组织良好,易于阅读和理解。值得一提的是,有许多入门书读完一遍即可扔掉,而这一本是个例外。

结语

以上这几本书很大程度上局限于描述C语言及标准库本身,如果希望学习更专业的、领域相关的C程序设计技术,你可以在选择阅读这几本书的基础上继续查阅专门书籍。此外,在C语言书籍领域,水平不相上下的作品有很多,这几本只是根据我自身的阅读体验而做出的推荐。

我并不是一名C程序员,我的大多数时间都花在C的后裔语言尤其是C++身上了。然而,正如你知道的那样,C++并不全是类和模板,不全是面向对象和泛型编程,在较低的层面,C++的各个实现一如既往在很大程度上兼容C。C++和C的亲密关系决定了每一本C语言经典都应该是C++程序员的读物。

这世界变化得真是太快。各色新事物层出不穷,让人眼花缭乱、目不暇接。人们也很容易被那些五光十色的花哨玩意儿所吸引,常常会忘记构筑过去、现在和未来的坚实基础。C语言就是这样的基础之一。今天,世界上有许多我们看不见的重要软件是用C语言(以及C++等)编写而成的,正是它们在默默地支撑着这个信息世界的运转。

㈩ 求适合自学的C语言教材!

凡是和计算机有关的书,我不推荐国产。虽然我不崇洋迷外,但是学习这么重要的事情,没必要在乎支不支持国产。我一直在用C prime plus这本,系统地看过3遍。你能体会出老外的这些作者能把代码这么无聊的东西描绘得那么风趣,不仅仅是在学习,更是在享受
而且这本书很基础,由浅入深,很适合新手,因为我当年就是新手,靠的就是它,能打下很好的基础

热点内容
成都php招聘 发布:2025-01-15 13:12:16 浏览:380
怎么调用服务器数据库 发布:2025-01-15 13:06:25 浏览:656
人人网设置访问权限 发布:2025-01-15 13:02:06 浏览:563
崩坏学园2脚本 发布:2025-01-15 12:58:43 浏览:459
我的世界服务器等级如何升 发布:2025-01-15 12:45:55 浏览:689
c语言程序填空题 发布:2025-01-15 12:45:53 浏览:545
怎么配置氯化钠浓度 发布:2025-01-15 12:34:06 浏览:206
4000除以125简便算法 发布:2025-01-15 12:27:41 浏览:464
源码商用 发布:2025-01-15 12:26:54 浏览:75
价钱算法 发布:2025-01-15 12:26:03 浏览:401