C++进阶4:动态库与静态库--函数篇
前言
1、作用
(1)分离编译
(2)代码重用
2、分类
| 分类 | 作用 | 后缀 |
|---|---|---|
| 静态库 | 一个或多个.o目标文件归档在一个文件中 | .a |
| 共享库 | 没有main函数的可执行文件 | .so |
| 动态加载库 | 没有main函数的可执行文件,接口复合API | .so |
0、前提(文件内容)
(1)test.cpp
#include <iostream>
#include "test.h"
using namespace std;
void Func(int i){
cout << __func__ << "(" << i << ")" << endl;
}
(2)test.h
#ifndef __TEST_H_
#define __TEST_H_
void Func(int i);
#endif
(3)main.cpp
#include "test.h"
int main(){
Func();
return 0;
}
1、静态库的制作与使用
1.1 创建
(1)编译源文件
g++ -c -o test.o test.cpp
(2)生成静态库
ar -rcs libtest.a test.o

本文详细介绍了C++中的动态库和静态库的制作与使用,包括静态库的创建、链接,动态库的生成及使用,以及动态加载库的创建和区别分析。内容涵盖编译源文件、生成库文件的选项、动态加载和静态加载的差异,以及在Linux系统中管理动态链接库的方法。

4070

被折叠的 条评论
为什么被折叠?



