MFC教程(7)-- MFC的DLL
2010-03-25 20:35:12 来源:WEB开发网映像文件(.map)
映像文件以.map为扩展名,包含了如下信息:
模块名、时间戳、组列表(每一组包含了形式如section::offset的起始地址,长度、组名、类名)、公共符号列表(形式如section::offset的地址,符号名,虚拟地址flat address,定义符号的.obj文件)、入口点如section::offset、fixup列表。
lib.exe工具
它可以用来创建输入库和输出文件。通常,不用使用lib.exe,如果工程目标是创建DLL程序,链接程序会完成输入库的创建。
更详细的信息可以参见MFC使用手册和文档。
链接规范(Linkage Specification )
这是指链接采用不同编程语言写的函数(Function)或者过程(Procedure)的链接协议。MFC所支持的链接规范是“C”和“C++”,缺省的是“C++”规范,如果要声明一个“C”链接的函数或者变量,则一般采用如下语法:
#if defined(__cplusplus)
extern "C"
{
#endif
//函数声明(function declarations)
…
//变量声明(variables declarations)
#if defined(__cplusplus)
}
#endif
所有的C标准头文件都是用如上语法声明的,这样它们在C++环境下可以使用。
修饰名(Decoration name)
“C”或者“C++”函数在内部(编译和链接)通过修饰名识别。修饰名是编译器在编译函数定义或者原型时生成的字符串。有些情况下使用函数的修饰名是必要的,如在模块定义文件里头指定输出“C++”重载函数、构造函数、析构函数,又如在汇编代码里调用“C””或“C++”函数等。
修饰名由函数名、类名、调用约定、返回类型、参数等共同决定。
更多精彩
赞助商链接