动态链接库--构建
构建DLL步骤:
1、必须创建一个头文件,其中包含我们想要在DLL中导出的函数原型、结构以及符号,DLL源文件需要包含这个头文件;
2、创建C/C++源文件来实现想要在DLL模块中导出的函数和变量;
3、构建DLL模块时,编译器会对每个源文件进行处理并生成一个obj模块;
4、所有obj模块创建完毕后,链接器会将所有obj模块的内容合并起来,产生一个单独的DLL映像文件,包含了所有的二进制代码以及全局/静态变量;
5、如果链接器检测到DLL源文件导出至少一个函数或变量,那么链接器还会生成一个lib文件。该文件不包含任何函数或变量,只列出被导出函数和变量的符号名。
编译器和链接器对DLL处理方式:
编译器不知道也不需要知道导入符号是哪一个具体的DLL模块中的,编译器只想确认我们以正确的方式来访问我们导入的符号。
链接器必须确定代码中引用的符号来自哪个DLL,因此必须将DLL的.lib文件传给链接器,因为.lib文件列出了DLL模块导出的符号,链接器只想知道被引用的符号确实存在,以及该符号来自哪个DLL模块。

浙公网安备 33010602011771号