class _declspec(dllexport) class_name与class _declspec(dllimport) class_name的配套使用

我们在创建动态链接库时,必须要使用到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 ,配套使用实现了该类是导出还是导入,这样在调用的时候就不必再去申明了

猜你喜欢

转载自blog.csdn.net/u010260855/article/details/22594191