1.11模块定义文件(.DEF)与资源描述文件(.RC) <深入浅出MFC读书笔记>

模块定义文件(.DEF)是Windows程序开发中的一个重要组件,它记录了程序的内存特性、模块名、堆栈和堆大小以及导出函数等信息,主要用于DLL的创建。导出部分如'EXPORTS'指定要导出的函数或数据。资源描述文件(.RC)则是以文本形式描述程序中的资源,如对话框、菜单、图标等。理解这两个文件对于Windows程序的构建和资源管理至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模块定义文件(.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文件是一个以文字描述资源的地方,常用的资源有九项之多

  1. 对话框
  2. 字符串
  3. 菜单
  4. 位图
  5. 图标
  6. 快捷键
  7. 鼠标
  8. 版本信息
  9. 字体
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值