c++调用自己编写的静态库
1.静态库的介绍:
一个静态库可以简单看成是一组目标文件(.o/.obj文件)的集合,静态库与汇编生成的目标文件一起链接为可执行文件。
2. 静态库的优缺点:
(1)静态库对函数库的链接在编译时期完成,程序在运行时与函数库无关,移植方便。
(2)所有相关的目标文件与牵涉到的函数库被链接合成一个可执行文件,浪费空间和资源。
3.Demo实例:
StaticMath.h
#pragma once
class StaticMath
{
public:
StaticMath();
~StaticMath();
static double add(double a,double b);
};
StaticMath.cpp
#include"StaticMath.h"
StaticMath::StaticMath()
{
}
StaticMath::~StaticMath()
{
}
double StaticMath::add(double a,double b)
{
return a + b;
}
4.生成静态库:
VS命令方式创建静态库(.lib):
cl /c StaticMath.cpp
//得到StaticMath.obj
的目标文件
lib StaticMath.obj
//创建静态库StaticMath.lib
5. 编写main.cpp
使用创建的静态库StaticMath.lib
:
#include "StaticMath.h"
#include <iostream>
using namespace std;
int main()
{
double a = 10;
double b = 2;
cout << "a + b = " << StaticMath::add(a, b) << endl;
system("pause");
return 0;
}
6.测试运行:
这里先把头文件放进include
目录,把静态库文件放进lib
目录。
(1)VS命令行方式:
cl main.cpp -I D:\WorksPace\VSWorkSpace\Project2\Project2\run\include D:\WorksPace\VSWorkSpace\Project2\Project2\run\lib\StaticMath.lib
(2)VS的GUI方式:
找到头文件
找到库文件目录
找到库文件