运行过程中链接动态链接库与编译过程中链接动态库的区别
来源:互联网 发布:我要自学网vb视频教程 编辑:程序博客网 时间:2024/05/22 02:13
我们调用动态链接库有两种方法:一种是编译的时候,指明所依赖的动态链接库,这样loader可以在程序启动的时候,来所有的动态链接映射到内存中;一种是在运行过程中,通过dlopen和dlfree的方式加载动态链接库,动态将动态链接库加载到内存中。
这两种方式,从编程角度来讲,第一种是最方便的,效率上影响也不大,在内存使用上有些差别。
第一种方式,一个库的代码,只要运行过一次,便会占用物理内存,之后即使再也不使用,也会占用物理内存,直到进程的终止。
第二中方式,库代码占用的内存,可以通过dlfree的方式,释放掉,返回给物理内存。
这个差别主要对于那些寿命很长,但又会偶尔调用各种库的进程有关。如果是这类进程,建议采用第二种方式调用动态链接库
0 0
- 运行过程中链接动态链接库与编译过程中链接动态库的区别
- 运行过程中链接动态链接库与编译过程中链接动态库的区别
- linux动态链接库使用过程中库的链接过程
- c++中动态链接库与动态链接库的区别
- linux静态链接库与动态链接库的区别及动态库的创建过程----明白
- 动态链接库的装载过程
- 动态链接库的编译链接
- 动态链接库的编译链接
- G++编译:动态链接库的链接与使用
- 编译器链接过程 静态链接 动态链接
- 动态链接库与静态链接库的区别
- 动态链接库与静态链接库的区别
- 动态链接库与静态链接库的区别
- 静态链接库与动态链接库的区别
- 动态链接库与静态链接库的区别
- 动态链接库与静态链接库的区别
- 动态链接库与静态链接库的区别
- 静态链接库与动态链接库的区别
- Mybatis中mapper代理方法
- (十七)文件操作——其余相关函数的介绍、以及递归输出目录中的文件列表
- win7系统下Microsoft visual studio 2013+opencv2.4.13配置及运行
- java学习之路之基本语法-变量-练习题
- 在 Mac OS X 下安装 python-mysql
- 运行过程中链接动态链接库与编译过程中链接动态库的区别
- 构造函数详解
- 名称来源
- 图像分割
- yii2 在控制器重写 beforeAction() 方法时,behaviors 失效的原因
- centos7使用vnc登陆
- 93. Restore IP Addresses
- CSS3选择器--结构性伪类选择器
- filter过滤器