operatordll.h
#include <iostream>
#ifndef _WIN32
#define DLL_EXPORT
#else
#ifdef OPERATORDLL_EXPORTS
#define DLL_EXPORT __declspec(dllexport)
#else
/*dllimport是为了更好的处理类中的静态成员变量(或者其他...)的,如果没有静态成员变量(或者其他...),那么这个__declspec(dllimport)无所谓.
不加import 如果把dll和头文件提供给别人使用的时候就会出“unsloved symbol a”的问题。*/
#define DLL_EXPORT __declspec(dllimport)
#endif
#endif
class DLL_EXPORT Operatordll
{
public:
static int a;
double mul_double(double a, double b);
double div_double(double a, double b);
};
//////////////////////////////////////////////////////////////////////
operatordll.cpp
#include "operatordll.h"
int Operatordll::a = 0; //1. 如果是放在.h中,需要注意避免重复,可以使用预处理. 2. 如果不是太影响程序美观的话,放到其他不会多次定义的地方,如cpp文件下
double Operatordll::mul_double(double a, double b)
{
return (a * b);
}
double Operatordll::div_double(double a, double b)
{
return (a / b);
}