文章目录
- 1.软硬链接
- 2.动态库和静态库
- 2.1 见一见库
- 2.2 动静态库
- 2.2.1 静态库
- 2.2.2 动态库
- 2.3 动静态库的对比
- 3.真实的应用场景(ncurses库)
- 4.库加载---可执行程序和地址空间
- 4.1可执行程序的加载
- 4.2 库的加载
1.软硬链接
2.动态库和静态库
2.1 见一见库
我们用过很多库。C/C++的库
strerror,strstr,strcpy…
STL,list,vector,queue…
C的库:
C++的库:
2.2 动静态库
库的存在就是为了提高我们的开发效率!
2.2.1 静态库
静态库的背景引入:
见一见简单的库的创建和使用:
真的安装静态库与卸载静态库:
不安装静态库如何使用?
有与没有-static的区别!
2.2.2 动态库
生成动态库:
使用动态库:
2.3 动静态库的对比
同时提供动静态库,默认使用动态库!前面说过了。
3.真实的应用场景(ncurses库)
上面的举例都是我们自己写的垃圾库,没什么应用价值
现在来说明一个真是应用的库:ncurses库!
ncurses库是一个用于控制终端屏幕输出和输入的库,可以用于创建交互式的命令行界面。
它提供了一系列函数来控制终端的光标位置、颜色、文本输出等。 使用ncurses库需要先初始化,然后使用各种函数来控制终端的输出和输入。
示例代码是一个窗口,代码可以获取下上左右的一个下标!
4.库加载—可执行程序和地址空间
库加载和静态库没有关系,因为静态库不牵扯加载问题!
静态库在编译期间就直接把静态库的方法拷贝到程序,后面只谈论程序加载!
4.1可执行程序的加载
这一块好抽象感觉,根据一些资料了解一下吧!
4.2 库的加载