源:VC2010编写Dll文件

1、 打开VS2010【Flie / New / Project / Visual C++ / Win32 / Win32 Console Application】在下面输入一个名称,比如mydll,然后【OK / Next】,然后在Application Type里选择Dll,在Additional Options里选择Exports Symbols,最后点击Finish。

2、在mydll.cpp里面已经有相关的例子模板了。可以照着他的写法写自己的函数。但是注意,对于有参数传递的函数,编写格式如下:

MYDLL_API int _stdcall MaxNumber(int x,int y)

{

if (x>y)

return x;

return y;

}

即多了个_stdcall ,这个是需要注意的,函数写好后,还要在mydll.h里进行申明。它里面也有相应函数的申明格式,对于上面那个函数,申明也要加_stdcall 。即应该申明为MYDLL_API int _stdcall MaxNumber(int x,int y)。

3、现在写一个.def的模块文件。文件内容编写格式如下

LIBRARY "mydll"

EXPORTS

MaxNumber

函数名2

函数名3

……

上面的myll就是你的dll名称,MaxNumber就是我们要导出的函数,函数名2,函数名3也是我们要导出的函数的名称,要导出多个函数,则在下面依次写上要导出的函数名称即可。

假如我们编写的def文件命名为name.def,注意把name.def放在编译的文件夹下。然后我们在工程里打开Properties窗口【选中mydll,然后右键Properties】,然后【Configuration Properties / Linker / Input】在右边的Module Definition File里填入我们的模块名称name.def,然后点击确定.

4、现在就可以直接点击运行按钮进行dll文件编译了。

需要说明的是,上面编译后的dll文件只能在装了VC2010运行库的操作系统上才能运行。如果要在没有装VC2010运行库的操作系统也能使用那个dll文件,则在执行第4步之前先进行如下操作:在工程里打开Properties窗口【选中mydll,然后右键Properties】,然后【Configuration Properties / General 】在右边的Use of MFC里选择Use MFC in a Static Library,然后点击确定。不过这样编译出来的dll文件比原来的dll文件大很多。

VC2010编写Dll文件(转)的更多相关文章

  1. C++编写DLL文件

    动态链接库DLL文件与EXE文件一样也是可执行文件,但是DLL也被称为库,因为里面封装了各种类.函数之类的东西,就像一个库一样,存着很多东西,主要是用来调用的.调用方式主要分为两种:隐式(通过lib文 ...

  2. Win7 VS2015 x64 MASM汇编语言编写DLL文件

    有点坑记录一下. 首先创建工程时选控制台类型工程,Win32估计就应该选Win32的,反正我测试用的控制台. 然后选DLL类型,除了Empty其他全都去掉. 工程属性,masm勾上. Linker & ...

  3. C++ 编写DLL文件给易语言调用

    摸索了两天了,终于解决了所有问题,在此跟大家分享. 需要三个文件,dll_demo.h.dll_demo.cpp.dll_dome.def 直接上代码: 头文件如下: #ifndef _DLL_DEM ...

  4. C#直接使用DllImport调用C/C++动态库(dll文件)

    1.C/C++动态库的编写 下面是我编写的一个比较简单的C++dll文件用来测试,关于如何编写dll文件,我这里便不再赘述,不懂得自行查询, (1).h文件 #ifdef MYDLL_EXPORTS ...

  5. Windows中DLL文件的意义及其作用

    Windows中DLL文件的意义及其作用 DLL是Dynamic Link Library的缩写,意为动态链接库.DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和 ...

  6. delphi 基础之三 编写和调用dll文件

    delphi 编写和调用dll文件   Windows 的执行文件可以划分为两种形式程序和动态连接库 (DLLs).一般程序运行是用.EXE文件,但应用程序有时也可以调用存储在DLL的函数. 在如下几 ...

  7. .dll 文件编写和使用

    1.基本概念 dll(dynamic-link library),动态链接库,是微软实现共享函数库的一种方式.动态链接,就是把一些常用的函数代码制作成dll文件,当某个程序调用到dll中的某个函数的时 ...

  8. Delphi 编写DLL动态链接库文件的知识

    一.DLL动态链接库文件的知识简介: Windows的发展要求允许同时运行的几个程序共享一组函数的单一拷贝.动态链接库就是在这种情况下出现的.动态链接库不用重复编译或链接,一旦装入内存,Dlls函数可 ...

  9. Delphi 编写DLL动态链接库文件的知识和样例(有详细步骤,很清楚)

    一.DLL动态链接库文件的知识简介: Windows的发展要求允许同时运行的几个程序共享一组函数的单一拷贝.动态链接库就是在这种情况下出现的.动态链接库不用重复编译或链接,一旦装入内存,Dlls函数可 ...

随机推荐

  1. AI 人工智能 探索 (九)

    链接:http://pan.baidu.com/s/1c0AM3g0 密码:uccw 今天补充 创建物体 移动物体 ,当点击创建后 ,会出来一个 上图的 ui,他跟随 物体,当你把物体拖动到 指定的地 ...

  2. POJ 1061 青蛙的约会(欧几里得扩展)

    题意:已知青蛙1位置x,速度m,青蛙2位置y,速度n,纬线长度为l,求他们相遇时最少跳跃次数. 思路:设最小跳跃次数为k,则(x + k*m) - (y + k*n) = q*l:经过整理得到k*(n ...

  3. MySQL+heartbeat+nfs做高可用

    一.环境准备节点两个node1:10.10.10.202node2:10.10.10.203nfs服务器:node3:10.10.10.204系统环境CentOS release 6.5 (Final ...

  4. XML回顾

    xml加强 一.sax解析    1)原理: 读取xml的某个部分,解析一部分(读取一点,解析一点)    2)步骤:         SAXParserFactory factory = SAXPa ...

  5. angularjs ng-switch

    <p> <a href="#" ng-click="toggle()">Toggle Section</a> </p& ...

  6. usb调试

    修改文件:/home/mxy/code/v1/kernel-3.10/drivers/power/mediatek/battery_common.c //bool AutoDebug=true;//x ...

  7. stock 财务 指标

    净资产收益率:"不能比利率低"每股收益是烟幕弹 有一点需要提请大家注意,观察净资产收益率至少要看过去三年的指标,如果公司没有经过大的资产重组,最好看看自其上市以来每一年的净资产收益 ...

  8. test命令

    每一种条件语句的基础都是判断什么是真什么是假.是否了解其工作原理将决定您编写的是质量一般的脚本还是您将引以为荣的脚本.Shell 脚本的能力时常被低估,但实际上其能力的发挥受制于脚本撰写者的能力.您了 ...

  9. check_partition_aft_merge.sql

    spool ./05_check_partition_aft_merge.log @/tmp/rda/chk_freets set echo on feedback on set pagesize 4 ...

  10. ural1037 Memory Management

    Memory Management Time limit: 2.0 secondMemory limit: 64 MB Background Don't you know that at school ...