当前位置: 首页 > 编程技术 > 正文

Dll简单编程-将函数改写为独立的DLL文件

相信很多的朋友对自己在编写一些小程序的时候发发现很多的函数是可以统统的,但是将全部的函数写在一个文件里面显的有点冗余的样子,这里我就结合自己的学习笔记来记录下怎么讲函数改写为DLL

第一步 创建一个win32的dll工程

创建WIN32 DLL工程

第二步 就像编写普通的程序一样,创建一个工程->工程命名->新建一个c++源文件->书写代码

假设这里我想将两个数的加减函数写成DLL文件,在源文件中书写代码:

int plus(int a,int b)
{
return a+b;
}
int sub (int a,int b)
{
return a-b;
}

第三步 在函数前添加如下代码:

 extern "C"_declspec (dllexport) 或者是宏定义 #define DLL_API  extern "C"_declspec (dllexport)

添加后代码如下:

#define DLL_API extern "C"_declspec (dllexport)
DLL_API int plus (int a, int b)
{
return a+b;
}
DLL_API int sub (int a, int b)
{
return a-b;
}

第四步 编译->生成 ,如果是生成成功的话,在debug目录或者是Relase目录下有一个exp和Lib文件,拷贝lib文件到主工程的根目录

第五步 在主函数所在源文件的头部加上extern声明和连接声明,代码如下:

extern int plus(int a,int b);
extern int sub (int a,int b);
#pragma comment (lib,"DLL")
//这里的DLL 是lib文件的名称,我的Lib文件名称为dll,如果有多个的lib,依此对每个lib进行连接就行了

如果想提高编译器的运行效率,可以通过更改extern外部申明为dll外部导入函数,代码可以如下:

_declspec (dllimport)  plus(int a,int b);
_declspec (dllimport)  sub (int a,int b);
#pragma comment (lib,"DLL")

第六步 如果要测试程序的话,需要将生成的DLL文件拷贝到debug 或者是Release目录,与exe文件在同一目录就行了,否则会出现找不到DLL的错误



本文固定链接: http://kuaile.in/archives/337 | 蒲公英的博客

该日志由 蒲公英 于2012年02月02日发表在 编程技术 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Dll简单编程-将函数改写为独立的DLL文件 | 蒲公英的博客
关键字:

Dll简单编程-将函数改写为独立的DLL文件:等您坐沙发呢!

发表评论


You must enable javascript to see captcha here!

快捷键:Ctrl+Enter