简要介绍编写C/C ++应用程序的领域,标准库的作用以及它是如何在各种操作系统中实现的。
我已经接触C++一段时间了,一开始就让我感到疑惑的是其内部结构:我所使用的内核函数和类从何而来? 谁发明了它们? 他们是打包在我系统中的某个地方吗? 是否存在一份官方的C ++手册?
在本文中,我将通过从C和C ++语言的本质到实际实现来尝试回答这些问题。
C和C++是如何制订的
当我们谈论C和C++时,实际上是指一组定义(程序)语言应该做些什么,如何表现,应该提供哪些功能的规则。C/C++的编译器为了处理C/C++编写的源代码必须跟随着这些规则,并生成二进制应用程序。听起来非常接近于HTML:浏览器遵循着一组指令,所以它们可以以明确的方式来渲染网页。
与HTML一样,C和C++的规则都是理论上的。国际标准化组织(ISO)的一大群人每年都会聚集几次来讨论和定义语言规则。没错,C和C++是标准化的东西。
他们最终都会得到一本官方的叫标准的书,你可以从他们的网站中购买。随着语言的发展新的papers(指官方的叫标准的书)会被发布,每一次都定义一个新的标准。
这就是为什么我们会有不同的C和C++版本的原因:C99, C11, C++03, C++11, C++14等等,数字与出版/发布年份相符。
这些标准都市非常详细和有技术新的文档:我不会把它们当作手册。