模块定义文件(.DEF)
书上提到, Windows程序需要一个模块定义文件. 主要作用是将模块名称, 程序段, 数据段的的内存特性, 模块堆(heap)大小, 堆栈(stack)大小, 所有callback函数的名称等等记录下来. 并附上了一个实例
NAME Generic //模块名
DESCRIPTION 'Generic Sample' //
EXETYPE WINDOWS //可执行文件类型
STUB 'WINSUB.EXE' //
CODE PRELOAD DISCARDABLE
DATA PRELOAD MOVEABLE MULTIPLE
HEAPSIZE 4096
STACKSIZE 10240
EXPORTS
MainWndProc @1
AboutBox @2
但是看完之后还是不太理解模块定义文件 是什么有什么作用?
在百度中解释是这样的:
模块定义 (.def) 文件为链接器提供有关被链接程序的导出、特性及其他方面的信息。 生成 DLL 时,.def 文件最有用。 由于存在可代替模块定义语句使用的链接器选项,通常不需要 .def 文件。 也可以将 __declspec(dllexport) 用作指定导出函数的手段。在链接器阶段可以使用 /DEF(指定模块定义文件)链接器选项调用 .def 文件。如果生成的 .exe 文件没有导出,使用 .def 文件将使输出文件较大并降低加载速度。
一段段来看:
EXPORTS
引入了一个由一个或多个导出定义组成的节,这些定义可指定函数或数据的导出名或序号。 每个定义必须在单独一行上。
EXPORTS
MainWndProc @1 // 这是一个定义用于指定函数或数据的导出名或序号
AboutBox @2
暂时先理解到这里, 以后有机会在继续深入学习
资源描述文件(.RC)
RC文件是一个以文字描述资源的地方,常用的资源有九项之多
- 对话框
- 字符串
- 菜单
- 位图
- 图标
- 快捷键
- 鼠标
- 版本信息
- 字体