静态库特点
- 没有入口文件
- 静态库会被链接到调用程序中
- 目标文件中会保存一份静态库文件
编写步骤
- 创建静态库项目
- 编写库程序
- 调用库函数
- 添加依赖:#pragma comment(lib, "../Debug/CppLib.lib")
C++调用C++静态库
库文件源码--CPPLib.cpp
int add(int a, int b)
{
return a + b;
}
int sub(int a, int b)
{
return a - b;
}
C++调用源码--UseLib.cpp
#include <iostream>
using namespace std;
int add(int a, int b);
int sub(int a, int b);
#pragma comment(lib, "../Debug/CppLib.lib")
int main()
{
int sa = add(10, 2);
int sb = sub(10, 3);
cout << "sum=" << sa << ", sub=" << sb << endl;
system("pause");
}
C调用C++静态库--需要注明使用C语言格式来进行编译
库文件源码--CPPLib.cpp
extern "C"
{
int add(int a, int b)
{
return a + b;
}
int sub(int a, int b)
{
return a - b;
}
}
C调用源码--UseLib.c
#include <stdio.h>
int add(int a, int b);
int sub(int a, int b);
#pragma comment(lib, "../Debug/CppLib.lib")
int main()
{
int sa = add(10, 2);
int sb = sub(10, 3);
printf("sum=%d, sub=%d", sa, sb);
getchar();
}