摘要:
编译和连接:预编译(Prepressing)、编译(Compilation)、汇编(Assembly)、链接(Linking) 静态语言的C/C++模块之间通信有两种方式,一个是模块间的函数调用,另一个是模块间的变量访问。他们都需要知道目标函数或目标变量的地址,统一起来,就是模块间符号的引用。类似于拼图,定义符号的模块多出一块区域,引用符号的模块刚刚好缺少那块区域,两者结合就形成一个整体,... 阅读全文
摘要:
本文源自在学习《程序员的自我修养》中的心得体会。 对于底层系统程序开发者来说,硬件平台可以抽象为三个主要部件,CPU、内存、I/O控制器。 早期的计算机没有复杂的图形功能,CPU和内存之间的频率差异不大,它们都是连接在同一个bus上面的。其他I/O设备,诸如显示设备、键盘、磁盘等速度比内存、CPU慢很多。为了IO设备与CPU、内存之间的协调通讯,一般每个IO设备商都有相应的IO控制器,早期的硬件... 阅读全文