C++ 编写dll程序

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;
}


你可能感兴趣的:(C++,c,测试,null,dll)