WEB开发网
开发学院软件开发VC MFC教程(7)-- MFC的DLL 阅读

MFC教程(7)-- MFC的DLL

 2010-03-25 20:35:12 来源:WEB开发网   
核心提示:映像文件(.map)映像文件以.map为扩展名,包含了如下信息:模块名、时间戳、组列表(每一组包含了形式如section::offset的起始地址,MFC教程(7)-- MFC的DLL(2),长度、组名、类名)、公共符号列表(形式如section::offset的地址,符号名,如在模块定义文件里头指定输出“

映像文件(.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++”函数等。

修饰名由函数名、类名、调用约定、返回类型、参数等共同决定。

上一页  1 2 3 4 5 6 7  下一页

Tags:MFC 教程 MFC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接