摘要: 3.5.2动态链接库的创建3.5.2.1动态链接库的创建流程动态链接库的创建流程如下图所示:在系统设计阶段,主要的设计内容包括:类结构的设计以及功能类之间的关系,动态链接库的接口。在动态链接库中,包含两类函数:一类是内部函数,一类是外部函数。内部函数只能在动态链接库的内部使用,不能被动态链接库以外的模块调用;外部函数是该动态链接库的接口,可以被外部模块调用。为了使外部函数能够被系统外的模块调用,在进行C++代码编写的时候,必须对外部函数执行导出。导出的级别有两种:函数级别的导出和类级别的导出。在函数级别的导出中,只将该函数导出;在类级别的导出中,将这个类所属的函数和数据导出。在进行导出的时候, 阅读全文
posted @ 2013-07-15 15:56 冷舞 阅读(1288) 评论(2) 推荐(2) 编辑
摘要: 大家好,下面开始静态链接部分的工作原理分析,由于这部分内容太多了,我计划分2个部分发出,先看下这部分的大纲:3静态链接3.1概述编译器的任务是将每一个包含C++代码的源文件编译成包含二进制机器码的目标文件。由于在一个源文件中可能会调用到其它文件中的代码或数据,这些代码或者数据可能来自于静态库中,也可能来自于动态链接库中,也可能来自于其他的源文件中。在编译阶段,编译器只专注于对单个源文件的处理,对于这些外部符号,编译器无法解析。对于调用到外部符号的地方,编译器留出位置,并用一些假数据填充。因此,编译器输出的目标文件是不完整的,是需要修正的。链接器的任务是修正目标文件中不完整的地方,解析在编译阶. 阅读全文
posted @ 2013-07-15 15:33 冷舞 阅读(1685) 评论(2) 推荐(5) 编辑