C++ Dll 类的导出
在应用工程中经常要用到别人提供的组件,并且这个组件经常是以dll提供的。那么如何将一个类进行dll导出。
下面是一个很简单的例子:创建一个dll的工程,在这个工程中定义了一个简单的类Figure
一:Figure工程包含的头文件和源文件如下
① Figure.h
#ifndef FIGURE_H
#define FIGURE_H
#ifdef DLL_FILE
class _declspec(dllexport) Figure
#else
class _declspec(dllimport) Figure
#endif
{
public:
Figure();
Figure(float fXcoordinateIn, float fYcoordinateIn);
float fXcoordinate;
float fYcoordinate;
};
#endif
或者
#ifndef FIGURE_H
#define FIGURE_H
#ifdef DLL_FILE
#define FIGURE_API _declspec(dllexport)
#else
#define FIGURE_API _declspec(dllimport)
#endif
class FIGURE_API Figure{
public:
float x;
float y;
Figure();
Figure(float x_coordinate, float y_coordinate);
};
#endif
② Figure.cpp
#include "figure.h"
Figure::Figure()
{
fXcoordinate = 0.0;
fYcoordinate = 0.0;
}
Figure::Figure(float fXcoordinateIn, float fYcoordinateIn)
{
fXcoordinate = fXcoordinateIn;
fYcoordinate = fYcoordinateIn;
}
只要在工程配置中添加宏DLL_FILE即可。
二:引用Figure的工程FigureConsole
只要包含Figure.h即可