我们在创建动态链接库时,必须要使用到class _declspec(dllexport) class_name;class _declspec(dllimport) class_name这两个东西怎样合理搭配使得两者配合最好呢?而且使用的时候更方便:
接下来我将导出一个类 add
首先看看它的头文件:
#pragma once
#ifdef ADD_EXPORTS
#define ADD_API _declspec(dllexport)
#else
#define ADD_API _declspec(dllimport)
#pragma comment(lib,"function_dll.lib")
#endif
class ADD_API add
{
public:
add(void);
~add(void);
static int myadd(int a, int b)
{
return a+b;
}
};
源文件:
#ifndef ADD_EXPORTS
#define ADD_EXPORTS//这个宏的名称与头文件中要一致
#endif
#include "add.h"
add::add(void)
{
}
add::~add(void)
{
}
创建这个动态链接库的一个妙处在于使用:class _declspec(dllexport) class_name与class _declspec(dllimport) class_name ,配套使用实现了该类是导出还是导入,这样在调用的时候就不必再去申明了