C++ 编写dll程序
2012-01-12 10:21
323 查看
VS2008环境下,建立一个solution,然后在该解决方案中建立两个工程,一个是dll,一个测试程序:
建立dll工程的步骤:
1.建立win32 控制台程序
2. 应用程序类型选择dll
3.完成
在工程中添加文件lib.h,lib.cpp,内容如下:
recognize函数为接口函数
编译,通过,生成dll
建立测试程序,测试dll
建立mainTest.cpp文件
建立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++编写dll需要注意问题
- c#程序调用c++编写dll需要注意问题
- c#程序调用c++编写dll需要注意问题
- C#调用C++程序编写的dll
- [编程实例]Dev-C++编写动态调用dll杀进程的程序
- c++ dll 程序的编写
- 编写高效的C++程序方法之使用对象池
- Linux下,使用C/C++编写一个简单的消息处理程序
- C++:利用如下公式,编写函数计算∏的值,直到最后一项的绝对值小于e,主程序接收从键盘输入的e,输出∏的值(保留5位小数)。 ∏/4 = 1-1/3+1/5-1/7...
- C++ 编写DLL的一些感悟
- c++编写一个简单的数据库程序
- C# 调用带有复杂参数的C++ ,delphi dll 注意事项备注。(C++ dll 怎么回调C# 程序,参数怎么写?)
- C/C++编写用以求微分的程序
- Windows下如何使用QT编写dll程序
- 编写高效的C#图像处理程序(4) Rgb=>Lab,C# vs. C++(VC)
- Eclipse(Java版本)安装CDT编写C/C++程序
- VS2010 c++编写的程序在别人的机子运行不了,缺少mfc100.dll, xxx100d.dll等的解决方法
- C++第5周任务【任务3】编写基于对象的程序,求5个长方柱的体积和表面积。
- Eclipse下编写C++程序——CDT环境搭建
- 编写程序计算sentence中有多少个单词,并指出其中最长和最短的单词 C++