简单介绍下与 C 语言相关的内容。
不只是 C 相关代码,实际上是 Linux 中的基本介绍。
详细介绍从 Bash 启动运行,到最终调用到函数执行。
在 1989 年,美国国家标准协会 (ANSI) 对 C 语言进行了标准化,此时 C 语言又被称为 ANSI C。在一年后被国际标准化组织 ISO 采纳,所以 C 语言在 ISO 中有了一个官方名称 ISO/IEC 9899:1990 ,其中 9899 是 C 语言在 ISO 标准中代号 (C++ 是 14882),冒号后面的 1990 表示当前修订好的版本是在 1990 年发布。
所以,最开始的 C 语言标准也被称为 C89、C90 或者 C89/C90,后续又在 1999、2007、2011 进行了改进。另外,C++ 在从 C++11 之后,基本固定每三年发布一个新版本。
介绍一些乱七八糟的东西。
介绍一些常见的工具使用方法,包括了编译、测试等。
可以认为是在 C 的基础上添加了面向对象的功能,其编译、链接、调试等基本都可以通过一个工具链完成。
libev 是一个基础的高性能事件库,提供了跨平台能力,而且代码很少,使用非常灵活。除了基础的 IO、定时器、信号的处理之外,同时还提供了一些循环中经常使用的 hook 处理,以及常用
早期 CPU 通过提高主频来提升 CPU 的性能,不过因为工艺问题以及摩尔定律的终结,目前更加倾向于多核心的发展,对于编程来说,更像一个小型的分布式系统,也导致多线程编程要难很多。
另外,为了弥补 CPU 与主存处理速度的差异,在两者之间增加了多级缓存,提升性能的同时,也带来很多编程上的问题,尤其对于 Lock-Free 的编程。
并发编程涉及到很多的知识点,包括了从编译器、到 CPU 、内存与 Cache 的关系等等,都有可能会导致代码与实际执行不一致,原则是保证单线程下的一致。
如果喜欢这里的文章,而且又不差钱的话,欢迎打赏个早餐 ^_^