时间:2022-10-09 17:19:06 | 浏览:403
铁头娃 发自 凹非寺
量子位 出品 | 公众号 QbitAI
尽管大家眼中的C语言拥有数量众多的拥趸,但是做到全面了解,真的不像想象的那么简单。
不论是关键层面的内存管理和内存对齐,还是大佬专属的unions等进阶内容,真的是书到用时方恨少。
而该领域的编程深度指南《Modern C》在昨天正式再版发行。同第一版相比,新版《Modern C》在原版基础上重新调整了目录顺序,同时根据近期动向更新了相关内容和插图。
纸质版出版工作由知名出版社Mannings负责,影印下载链接和代码范例也已同步上线。
循序渐进
这本书根据使用者对C语言的认识,将学习目录分为了“邂逅——相识——相知——深入”四个阶段,拥有法国人独特的浪漫气息。
邂逅阶段指南更注重于基本概念的灌输;相识阶段会详细讲解C语言中的关键概念:指令,函数,数据类型以及控制结构。
相知阶段则要求熟知C语言内存模型和库界面;而深入阶段会对线程,原子性和可重入性等编程项目中的核心概念,进行深入的探讨。
实际上在C语言方面,简洁实用的指南一直层出不穷:
《C Programming: A Modern Approach》专门针对新司机上路;《Learn C the Hard Way》更像是手把手教你构建项目的简明教程,真正诠释了“边学边做”;《21st Century C》选择实用主义,书中重点的内存管理内容直指实战;在国内,《C Primer Plus》也享有相当高的地位。
同上述图书相比,《Modern C》并没有限制阅读人群,就像一盘可以随时快进快退的磁带,读者可以自主调整自己的阅读方向。
除此之外本书逐步深入的内容,也能让普通开发者能够对于像分配内存和线程这样的进阶概念形成自己的认识。
进可精通,退可巩固。这样一本全面且深入的指南,实属C语言学习利器。
这本书的作者Jens Gustedt,也算是C语言的一员老将:自1998年以来,他一直是 法国国家信息与自动化研究所(INRIA)的资深科学家。目前,他正在开展模块化C项目,该项目已经产生了像arbogast和EiLck这样的知名库。
他的工作单位是应对美国对法计算机禁运而成立的计算机研究机构,其计算机学科在世界科研机构学科竞争力排行榜中排名全球第七。也是这个排行榜前十中唯一一所非美科研机构。
作者也很贴心的在自己的博客上贴出了本书的电子链接,以及麻省理工学院授权的代码范例。并且开放了相关的讨论论坛和相关的Bug报告。
出书至此,还有什么理由不入手资源呢?
传送门
作者博客:
https://gustedt.wordpress.com/2019/09/18/modern-c-second-edition/
资源和反馈界面:
http://modernc.gforge.inria.fr/
PDF版本:
https://gforge.inria.fr/frs/download.php/latestfile/5298/ModernC.pdf
代码范例:
https://gforge.inria.fr/frs/download.php/latestfile/5297/code.zip
— 完 —
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ"ᴗ" ի 追踪AI技术和产品新动态
作者 | Daniel Munoz 编译 | 梦依丹出品 | CSDN(ID:CSDNnews)不久之前,CSDN发布了一篇《C不再是一门编程语言》的观点性文章。作者认为,C已经被提升到一个具有威望和权力的角色,它的统治是绝对和永恒的,以至
盘点一些值得学习的C语言开源项目,大多是曾经比较经典的案例,感兴趣的朋友可以了解一下!Libeventlibev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来
一、C语言程序的构成与C++、Java相比,C语言其实很简单,但却非常重要。因为它是C++、Java的基础。不把C语言基础打扎实,很难成为程序员高手。1、C语言的结构先通过一个简单的例子,把C语言的基础打牢。C语言的结构要掌握以下几点:(1
一、什么是语言,什么是C语言,有什么区别与联系?一提到语言这个词,人们自然想到的是像英语、汉语等这样的自然语言,因为它是人和人相互交流信息不可缺少的工具。大家听到我们之间交流的就是汉语,英语。比如一些单词是英语,主要还是用汉语在交流。而今天
前言C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗·W·卡尼汉和丹尼斯·M·利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。198
随着互联网的发展以及编程技术的不断更新,编程语言的种类也是越来越多,甚至现在的话针对每一个互联网的领域,都有不同的适合它的编程语言。不同的语言是为了实现不同的目标而设计的。不过无论你是一个有经验的程序员,还是你是这个编程网络中的新手,有一
学习资料:
在互联网蓬勃发展的时代,有一类人做出了巨大的贡献,这一群人被大家称之为程序员,怎样才能成为一名优秀的程序员呢,为什么每一个程序员都需要学习C语言呢?就让我来跟大家分享分享:第一:相比较其他的编程语言(像C++,JAVA),C语言是个低级语言
公司招聘两个岗位:一个是web后台开发,一个嵌入式开发,投送简历的比例差不多是十比一。从这个态势看学习C语言的比例相比前几年热度下降了许多,因为大家从招聘力度上看要C语言的公司比例很低,而且相对来说C语言学习起来还难入门,所以越来越多的人选
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样