DLL模块定义法(Module-Definition File,即DEF):在VS家族IDE中,根据提示新增.def文件,如下:

 

LIBRARY  关键字;

mytestDll  库名;

DLL_ADD  需要导的函数名;

DLL_SUB  需要导的函数名;

DLL_MUL  需要导的函数名;

DLL_DIV  需要导的函数名;

DEF保留字:

APPLOADER1

INITINSTANCE2

PRELOAD

BASE

IOPL

PRIVATE

CODE

LIBRARY1

PROTMODE2

CONFORMING

LOADONCALL1

PURE1

DATA

LONGNAMES2

READONLY

DESCRIPTION

MOVABLE1

READWRITE

DEV386

MOVEABLE1

REALMODE1

DISCARDABLE

MULTIPLE

RESIDENT

DYNAMIC

NAME

RESIDENTNAME1

EXECUTE-ONLY

NEWFILES2

SECTIONS

EXECUTEONLY

NODATA1

SEGMENTS

EXECUTEREAD

NOIOPL1

SHARED

EXETYPE

NONAME

SINGLE

EXPORTS

NONCONFORMING1

STACKSIZE

FIXED1

NONDISCARDABLE

STUB

FUNCTIONS2

NONE

VERSION

HEAPSIZE

NONSHARED

WINDOWAPI

IMPORTS

NOTWINDOWCOMPAT1

WINDOWCOMPAT

IMPURE1

OBJECTS

WINDOWS

INCLUDE2

OLD1

1 链接器在遇到此术语时发出警告(“忽略”)。不过,该保留字仍然保留。

2 链接器忽略该字,但是不发出警告。

用例如下:

通过以上三个文件即可编译出mytestDll.lib和mytestDll.dll两个库文件。

创建DLL动态链接库——模块定义法(def)的更多相关文章

  1. 创建DLL动态链接库——声明导出法

    DLL声明导出法:是通过使用__declspec(dllexport),添加到需要导出的函数前,进行声明. 头文件定义如下(OPdll.h): 源文件定义如下(OPdll.cpp): 通过以上两个文件 ...

  2. 模块定义文件.def

    一作用 DLL中导出函数的声明有两种方式:一种为在函数声明中加上__declspec(dllexport),这里不再举例说明:另外一种方式是采用模块定义(.def) 文件声明,.def文件为链接器提供 ...

  3. 创建dll动态链接库,并使用java调用

    参考文章:http://www.cnblogs.com/matthew-2013/p/3480296.html http://blog.csdn.net/g710710/article/details ...

  4. VC6.0创建DLL动态链接库四大要素

    原文:http://blog.csdn.net/wanghaihao_1/article/details/51098451 要成功地编辑,编译和链接一个动态链接库,应该包括以下要素:建立工程文件,使用 ...

  5. DLL动态链接库导出函数方法 -- 动态导出(.def文件导出)

    简介 动态链接库最大的优势在于可以提供给其他应用程序共享的资源,最小化应用程序代码的复杂度,其中一个十分重要的功能就是dll可以导出封装函数的功能.导出函数有两种主要方式,分别是静态导入和动态导入,本 ...

  6. DLL动态链接库的创建

    dll的创建主要有两种方法:一是使用 __declspec(dllexport) 创建dll,二是使用模块定义(.def)文件创建dll. 使用 __declspec(dllexport) 创建dll ...

  7. VS2013 c++ 生成和调用DLL动态链接库(.def 方法已验证OK)

    转载:https://blog.csdn.net/zhunianguo/article/details/52294339 .def 方法 创建动态库方法: 创建动态库是生成 .dll .lib 两个个 ...

  8. C++编写DLL动态链接库的步骤与实现方法

    原文:http://www.jb51.net/article/90111.htm 本文实例讲述了C++编写DLL动态链接库的步骤与实现方法.分享给大家供大家参考,具体如下: 在写C++程序时,时常需要 ...

  9. VS2013环境生成和调用DLL动态链接库

    http://blog.csdn.net/u010273652/article/details/25514577 创建动态库方法: 创建动态库是生成 .dll .lib 两个个文件 文件 -> ...

随机推荐

  1. C# Microsoft.Office不存在空间名称Interop和Excel

    在实际开发过程中,我们经常会对Excel表进行操作.相信大家都都已经很熟悉C#操作Excel的步骤:添加引用->COM->Microsoft Office Excel 11 Object. ...

  2. 微信小程序,个人开发者创业新平台

    在移动互联网世界,微信无小事,微信的事,是整个创业圈的事.经过一年多的酝酿,2017年1月9日,微信小程序发布了.发布伊始,无疑是对整个业界注入一剂兴奋剂,整个微信的生态圈的企业和个人开发者,都跃跃欲 ...

  3. word_宏示例

    参考:https://jingyan.baidu.com/article/870c6fc3326588b03fe4beeb.html 内容自适应 Application.Browser.Target ...

  4. 《Linux 性能及调优指南》2.4 基准工具

    翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...

  5. es6(13)--Promise

    //Promise { //原始方法 let ajax=function(callback){ console.log('执行') setTimeout(function(){ callback&am ...

  6. ajax,jsonp跨域访问数据

    访问高德aip天气接口 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & ...

  7. return的一种用法:如果当前判断为true则跳出这个方法。

    package rom; import java.lang.*; /* * return的一种用法:如果当前判断为true则跳出这个方法. */ public class Xamle_5 { stat ...

  8. FreeMarker内建函数

    内建函数 内建函数语法格式: 变量+?+函数名称 获取集合大小 我们通常要得到某个集合的大小,如下图: 我们使用size函数来实现,代码如下: 共  ${goodsList?size}  条记录 转换 ...

  9. SAP HANA数据库架构部署方法

    HANA作为内存数据库,在实现高性能访问的同时,必须也要有稳定的架构,今天我们就来看看企业部署SAP HANA时应该如何来设计数据库的架构. HANA数据库在安装时,有以下几种选择方法,为方便大家理解 ...

  10. [多线程]wait和notify

    线程之间的通信   使用wait/notify方法实现线程间的通信.这两个方法都是Object类的方法,也就是说Java所有的对象都提供这两个方法.1.wait和notify必须配合synchroni ...