创建DLL动态链接库——模块定义法(def)
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)的更多相关文章
- 创建DLL动态链接库——声明导出法
DLL声明导出法:是通过使用__declspec(dllexport),添加到需要导出的函数前,进行声明. 头文件定义如下(OPdll.h): 源文件定义如下(OPdll.cpp): 通过以上两个文件 ...
- 模块定义文件.def
一作用 DLL中导出函数的声明有两种方式:一种为在函数声明中加上__declspec(dllexport),这里不再举例说明:另外一种方式是采用模块定义(.def) 文件声明,.def文件为链接器提供 ...
- 创建dll动态链接库,并使用java调用
参考文章:http://www.cnblogs.com/matthew-2013/p/3480296.html http://blog.csdn.net/g710710/article/details ...
- VC6.0创建DLL动态链接库四大要素
原文:http://blog.csdn.net/wanghaihao_1/article/details/51098451 要成功地编辑,编译和链接一个动态链接库,应该包括以下要素:建立工程文件,使用 ...
- DLL动态链接库导出函数方法 -- 动态导出(.def文件导出)
简介 动态链接库最大的优势在于可以提供给其他应用程序共享的资源,最小化应用程序代码的复杂度,其中一个十分重要的功能就是dll可以导出封装函数的功能.导出函数有两种主要方式,分别是静态导入和动态导入,本 ...
- DLL动态链接库的创建
dll的创建主要有两种方法:一是使用 __declspec(dllexport) 创建dll,二是使用模块定义(.def)文件创建dll. 使用 __declspec(dllexport) 创建dll ...
- VS2013 c++ 生成和调用DLL动态链接库(.def 方法已验证OK)
转载:https://blog.csdn.net/zhunianguo/article/details/52294339 .def 方法 创建动态库方法: 创建动态库是生成 .dll .lib 两个个 ...
- C++编写DLL动态链接库的步骤与实现方法
原文:http://www.jb51.net/article/90111.htm 本文实例讲述了C++编写DLL动态链接库的步骤与实现方法.分享给大家供大家参考,具体如下: 在写C++程序时,时常需要 ...
- VS2013环境生成和调用DLL动态链接库
http://blog.csdn.net/u010273652/article/details/25514577 创建动态库方法: 创建动态库是生成 .dll .lib 两个个文件 文件 -> ...
随机推荐
- C# Microsoft.Office不存在空间名称Interop和Excel
在实际开发过程中,我们经常会对Excel表进行操作.相信大家都都已经很熟悉C#操作Excel的步骤:添加引用->COM->Microsoft Office Excel 11 Object. ...
- 微信小程序,个人开发者创业新平台
在移动互联网世界,微信无小事,微信的事,是整个创业圈的事.经过一年多的酝酿,2017年1月9日,微信小程序发布了.发布伊始,无疑是对整个业界注入一剂兴奋剂,整个微信的生态圈的企业和个人开发者,都跃跃欲 ...
- word_宏示例
参考:https://jingyan.baidu.com/article/870c6fc3326588b03fe4beeb.html 内容自适应 Application.Browser.Target ...
- 《Linux 性能及调优指南》2.4 基准工具
翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...
- es6(13)--Promise
//Promise { //原始方法 let ajax=function(callback){ console.log('执行') setTimeout(function(){ callback&am ...
- ajax,jsonp跨域访问数据
访问高德aip天气接口 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & ...
- return的一种用法:如果当前判断为true则跳出这个方法。
package rom; import java.lang.*; /* * return的一种用法:如果当前判断为true则跳出这个方法. */ public class Xamle_5 { stat ...
- FreeMarker内建函数
内建函数 内建函数语法格式: 变量+?+函数名称 获取集合大小 我们通常要得到某个集合的大小,如下图: 我们使用size函数来实现,代码如下: 共 ${goodsList?size} 条记录 转换 ...
- SAP HANA数据库架构部署方法
HANA作为内存数据库,在实现高性能访问的同时,必须也要有稳定的架构,今天我们就来看看企业部署SAP HANA时应该如何来设计数据库的架构. HANA数据库在安装时,有以下几种选择方法,为方便大家理解 ...
- [多线程]wait和notify
线程之间的通信 使用wait/notify方法实现线程间的通信.这两个方法都是Object类的方法,也就是说Java所有的对象都提供这两个方法.1.wait和notify必须配合synchroni ...