zoukankan      html  css  js  c++  java
  • VC2010编写Dll文件(转)

    源: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文件大很多。

  • 相关阅读:
    python 利用pyspark读取HDFS中CSV文件的指定列 列名重命名 并保存回HDFS
    python 利用pandas读取本地中CSV文件的指定列 列名重命名 并保存回本地
    CDH版本Hbase二级索引详细配置方案Solr key value index(二)中文分词
    CDH版本Hbase二级索引详细配置方案Solr key value index
    Seccon2017-pwn500-video_player
    Linux ASLR的实现
    0ctf2017-pages-choices
    33c3-pwn500-recurse
    关于C++中的string的小知识点
    Apache Kylin(三)Kylin上手
  • 原文地址:https://www.cnblogs.com/LittleTiger/p/4549496.html
Copyright © 2011-2022 走看看