一、静态库的特点
- 运行不存在
- 静态库源码被链接到调用程序中
- 目标程序的归档
二、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; }
标签:sub,lib,sub1,静态,编程,Win32,int,pragma From: https://www.cnblogs.com/TechNomad/p/17706129.html