摘要:
链接 当C或C++要对函数和变量进行外部引用时,根据引用情况,连接器会选择两种处理方法中的一种。如果还未遇到过这个函数或变量的定义,连接器会把它的标识符加到“未解析引用”列表中。如果链接器遇到过函数或变量定义,那么这就是已解决的引用。 如果链接器在目标模块列表中不能找到函数或变量的定义,它将去查找库。库有多种索引方式,连接器不必到库里查找所有目标模块,而只需浏览索引。当链接器在库中找到定义后,就将整个目标模块而不仅仅是函数定义链接到可执行程序。注意,仅仅是库中包含所需定义的目标模块加入链接,而不是整个库参加链接。如果想尽量减小程序的大小,当构造自己的库时,可以考虑一个源文件只放一个函数。 .. 阅读全文
摘要:
关于抽象 抽象与具体相对,它是一个泛化的过程。用百度百科中的描述就是:从众多事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。 汇编语言是底层机器的抽象,对于不同的CPU来说,它的加法指令码可能各不相同,但是可以使用一个相同的汇编指令,ADD。 C语言是对汇编语言的抽象,也可以说是对汇编的封装,比如说C语言提供了语言级别的流程控制语句,循环语句,条件语句等,而这些在汇编中是需要使用跳转指令实现的。 对于上述的汇编、C语言,它们都是对机器的建模,程序员要解决某个特定的问题,就必须与所建立起的机器模型进行联系,使之相对应。某些程序设计语言针对某类特定的问题进行建模,如Lisp... 阅读全文