编写windows程序中的“.def”文件<模块定义文件>

    在孙鑫老师的VC视频第19讲有提到,定义一个动态链接库的“共享节”,需要在工程中手动添加一个“.def”文件,然后在这个文件中定义一个共享节,.def中的语句如下:

 

SEGMENTS

mysec READ WRITE SHARED               //将数据节 mysec 设置为  可读、可写、共享。

 

   或者,在.def中添加如下语句,可以将一个动态链接库中的某些全局符号导出的时候符号名不变,如:

 

LIBRARY DLL
EXPORTS                        //本项的 EXPORTS的用法可以在MSDN中查询EXPORT得到
add                            //编译dll文件的时候,如果发现源文件中有符号名与这里的符号名相同,则
subtract                       //使用这个符号名作为源文件中符号的 导出符号名

 

上面两种都是.def文件的典型用法。

 

 

    在“深入浅出MFC”的第一章有提到,每个windows程序(.exe或者是.dll) 都需要一个模块定义文件,将 模块名称、程序段、数据段 的内存特性、模块堆(heap)大小、堆栈(stack)大小、所有callback函数名称等等登记下来。

    但在使用VC IDE开发程序的时候,不是每次都需要特别准备 .def 文件,因为新程序的 模块定义文件 的每个部分都有默认值。一下是一个典型的模块定义文件的实例:

NAME                                     Generic

DESCRIPTION                     'Generic Sample'

EXETYPE                               WINDOWS

STUB                                      'WINSTUB.EXE'

CODE                                     PRELOAD DISCARDABLE

DATA                                       PRELOAD MOVEABLE MULTIPLE

HEAPSIZE                              4096

STACKSIZE                            10240

EXPORTS                               

                                                  MainWndProc   @1

                                                  AboutBox            @2

 

    在编写一个windows程序的时候,可否自己指定 模块定义文件 的每一项的数值呢?<未完 待续>

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值