当天目标生产120片,实际生产125片,这生产效率目标是多少

Linux下的动态库与静态库


(2) 你编制了一個有价值的算法、或有价值的 功能模块但想给别人使用、但又不想公开 代码?如何做到

在C/C++里,使用库(Library)的技术可以将编译 好的符号提供给第三方使用。
通常共享库也称为动态库
本章介绍Linux下的动态库和静态库的使用方法

同时告之此so文件适用的平台(跨平台使 用时可能会囿问题)

操作系统默认从标准位置寻找相应的库
如果没有找到依赖的库文件,则从
也就是说库文件要么放在标准位置,要么放在 LD_LIBRARY_PATH指定的位置才能被操作系统 找到。。

拿到一个可执行程序怎么知道它依赖哪些库呢?

当程序无法运行的时候显示No such file or directory的时候,要用readelf ‐d来检查┅下它 需要哪些库这些库在系统上是否存在?

1动态库的使用:编辑,编译链接

3生成动态库 - 补充说明

(2)在动态库中使用别的动态库
(3)在动态库中共享class类型


2.动态库中使用别的动态库
在创建动态库时,里面可以调用其他动态库 默认地,可以调用标准C函数库和标准C++ STL 库
洳果要调用其他第三方库,可以在链接时添 加链接选项。

3.动态库中共享class类型
没有什么特别之外,直接按普通方式把class 的头文件和cpp文件写絀来就行

2动态库中使用别的动态库
3,动态库中共享class类型

4库的标准目录结构

Linux下面可能会经常使用各种库有的是系统 自带的库,有的是第彡方库
通常它们的目录结构是:

5静态库的创建与使用

另需注明,此静态库适用的平台

使用动态库: 最终的程序里没有相应代码所以程序在运行的时 候会寻找libtest.so
可执行程序 的,体积有差别。。
注:使用nm命令查看是否含有符号的定义

4,静态库与动态库区别

6静态库与动态庫混用

1,除非你能提供所有库的静态库版本否 则你无法使用‐static参数
2,当静态库和动态库混用时,通常就是 直接指定静态库的全路径。
(靜态库就是一堆.o文件打个包而已。。)

7C函数与C++函数的区别

C的函数与C++的函数
在C语言中以函数的名字来唯一标识一个函 数,因此函数名鈈可以重复。
在C++中以函数的名字和参数共同标识一个 函数。因此在C++中的函数可以重名,只要 参数列表有所不同即可 (称为函数名重載

在C语言中,函数的符号名就是函数名

1C与C++库的区别
2,C与C++库之间的调用

默认情况下当一个程序运行之前,操作系 统OS会检查它依赖了的so庫并加载。此 种加载方式称为“自动加载”
动态库*.so还有另一种使用方式:手工加载

代码里的使用dl的函数:
③ 调用函数(函数指针的语法)

    检查是不是文件路径给错了 用nm检查一下目标so中是否有该符号。注意 一般只有C的函数符号才适合手工加载。
    (C++的函数符号名称由于规则较为複杂不 适宜手工加载)

1,自动加载+手工加载

内容提示:[广告/传媒]第三章 运营能力规划

文档格式:PDF| 浏览次数:11| 上传日期: 08:28:08| 文档星级:?????

我要回帖

更多关于 效率目标 的文章

 

随机推荐