Win32编程之静态库(六)
一、静态库的特点
- 运行不存在
- 静态库源码被链接到调用程序中
- 目标程序的归档
二、C语言静态库
1.C静态库的创建
- 创建一个静态库项目
- 添加库程序,源文件使用C文件
2.C静态库的使用
- 库路径的设置:可以使用pragma关键字设置;#pragma comment(lib, "../lib/clib.lib")
三、C++语言静态库
1.C++静态库的创建
- 创建一个静态库项目
- 添加库程序,源文件使用CPP文件
2.C++静态库的使用
- 库路径设置:可以使用pragma关键字设置;#pragma comment(lib, "../lib/cpplib.lib")
库头文件:
#pragma once
int CPPlib_add(int add1, int add2); int CPPlib_sub(int sub1, int sub2);
库源文件:
#include "WinLib.h"
int CPPlib_add(int add1, int add2) {
return add1 + add2;
}
int CPPlib_sub(int sub1, int sub2) {
return sub1 - sub2;
}
调用CPP静态库:
#include <iostream>
#include "../WinLib/WinLib.h"
using namespace std;
#pragma comment(lib, "../Debug/WinLib.lib")
int main() {
int sum = CPPlib_add(5, 4);
int sub = CPPlib_sub(5, 4);
cout << "sum =" << sum << ", sub = " << sub << endl;
return 1;
}
三、C++调用C静态库
库头文件:
#pragma once extern "C" int Clib_add(int add1, int add2); extern "C" int Clib_sub(int sub1, int sub2);
库源文件:
#include "CLib.h"
int Clib_add(int add1, int add2) {
return add1 + add2;
}
int Clib_sub(int sub1, int sub2) {
return sub1 - sub2;
}
C++调用C静态库示例:
#include <iostream>
#include "../CLib/CLib.h"
using namespace std;
#pragma comment(lib, "../Debug/CLib.lib")
int main() {
int sum = Clib_add(5, 4);
int sub = Clib_sub(5, 4);
cout << "sum =" << sum << ", sub = " << sub << endl;
return 1;
}

浙公网安备 33010602011771号