使用VC6.0中的新建一个Win32 Dynamic-Link Library类型的工程,工程名为:dll,创建一个空的动态链接库工程,然后再工程中添加C++源文件:dll.cpp以及头文件:dll.h,在头文件以及源文件中输入下面的代码:

dll头文件:

dll.h

#ifndef DLL1_API
	#define DLL1_API _declspec(dllexport) 
#endif

DLL1_API int processSaliency(char *filename, char *old_path, char *new_path);

dll的生成步骤:

要生成的函数:

dll.cpp

#define DLL1_API _declspec(dllexport)
#include "egt_saliency.h"
#include <iostream> 
#include "saliency.h" 

#pragma comment(lib, "saliency.lib")  
#pragma comment(lib, "mclmcrrt.lib")  

using std::cout;  
using std::cin;  
using std::endl; 

int processSaliency(char *filename, char *old_path, char *new_path)
{
	// initialize lib   
    if( !saliencyInitialize())  
    {  
        cout << "Could not initialize Saliency!" << endl;  
  
        return -1;  
    }

	gbvs_main(filename, old_path, new_path);
   
    saliencyTerminate();  
      
    mclTerminateApplication();
	
	return 0;
}


最后编译,在工程中会生成:dll.dll和dll.lib这两个文件;在测试程序中,需要将dll.dll、dll.lib和dll.h这三个文件一起拷贝到测试程序的工程中,这样测试程序就可以利用dll来调用函数了。



Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐