您的位置:首页 > 编程语言 > C语言/C++

C++ 编写dll程序

2012-01-12 10:21 323 查看
VS2008环境下,建立一个solution,然后在该解决方案中建立两个工程,一个是dll,一个测试程序:

建立dll工程的步骤:

1.建立win32 控制台程序

2. 应用程序类型选择dll

3.完成

在工程中添加文件lib.h,lib.cpp,内容如下:

////头文件 lib.h
#ifndef LIB_H
#include "commennFile.h"
#include "ImageProcess.h"

#define LIB_H

extern "C" int _declspec(dllexport)recognize(const char * readFileName,const char * saveFileName);
#endif

////////lib.cpp
#include "stdafx.h"
#include "lib.h"

int recognize(const char * readFileName,const char * saveFileName)
{
}

recognize函数为接口函数

编译,通过,生成dll

建立测试程序,测试dll

建立mainTest.cpp文件

typedef int(*lpRecognize)(const char * readFileName,const char * saveFileName);//参数与dll中的recognize函数的一致

int main()
{
HINSTANCE hDll;

char * filePath = "D:\\sample";

lpRecognize recogID;
hDll = LoadLibrary("..\\debug\\preprocess.dll");//读取dll文件

if(hDll != NULL)
{
recogID = (lpRecognize)GetProcAddress(hDll,"recognize");

if(recogID == NULL)
{
FreeLibrary(hDll);
return -1;
}

vector<string> files;

////获取该路径下的所有文件
getFiles(filePath, files );

char str[30];
int size = files.size();
//调用dll中的接口
for(int i =0;i< size;i++) recogID(files[i].c_str(),str); //调用dll中的函数
}
FreeLibrary(hDll);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: