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")
库头文件:
1 2 3 | #pragma once<br> int CPPlib_add( int add1, int add2); int CPPlib_sub( int sub1, int sub2); |
库源文件:
1 2 3 4 5 6 7 8 9 | #include "WinLib.h" int CPPlib_add( int add1, int add2) { return add1 + add2; } int CPPlib_sub( int sub1, int sub2) { return sub1 - sub2; } |
调用CPP静态库:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #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静态库
库头文件:
1 2 3 4 5 | #pragma once extern "C" int Clib_add( int add1, int add2); extern "C" int Clib_sub( int sub1, int sub2); |
库源文件:
1 2 3 4 5 6 7 8 9 | #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静态库示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #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; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?