1,静态库创建
1.1 头文件
#pragma once
class StaticMath
{
public:
StaticMath(void);
~StaticMath(void);
static double add(double a, double b);//加法
static double sub(double a, double b);//减法
static double mul(double a, double b);//乘法
static double div(double a, double b);//除法
void print();
};
1.2 源文件
#include "staticLib.h"
double StaticMath::add(double a, double b)
{
return a + b;
}
double StaticMath::sub(double a, double b)
{
return a - b;
}
double StaticMath::mul(double a, double b)
{
return a * b;
}
double StaticMath::div(double a, double b)
{
return a / b;
}
void StaticMath::print()
{
}
1.3 生成lib文件
2 动态库
2.1 头文件
#pragma once
class DynamicMath
{
public:
__declspec(dllexport) DynamicMath(void);
__declspec(dllexport) ~DynamicMath(void);
static __declspec(dllexport) double add(double a, double b);//加法
static __declspec(dllexport) double sub(double a, double b);//减法
static __declspec(dllexport) double mul(double a, double b);//乘法
static __declspec(dllexport) double div(double a, double b);//除法
__declspec(dllexport) void print();
};
2.2 源文件
#include "stdafx.h"
#include "dynamicLib.h"
double DynamicMath::add(double a, double b)
{
return a + b;
}
double DynamicMath::sub(double a, double b)
{
return a - b;
}
double DynamicMath::mul(double a, double b)
{
return a * b;
}
double DynamicMath::div(double a, double b)
{
return a / b;
}
void DynamicMath::print()
{
}
2.3 生成lib,exe
3 调用
3.1 调用静态库
把.h .lib放入当前工程下,调用如下
#include "staticLib.h"
#pragma comment(lib,"static.lib")
double a = 10;
double b = 20;
printf("%lf\n", StaticMath::add(a,b));
3.2 调用动态库
将.h .lib .exe放入当前工程下,同时需要将.exe放入debug,release文件夹下,调用如下
#include "dynamicLib.h"
#pragma comment(lib, "dynamic.lib")
double a = 10;
double b = 20;
printf("%lf\n", DynamicMath::add(a,b));