【发布时间】:2014-02-22 17:12:26
【问题描述】:
我想在 C 中的两个不同程序中使用相同的库函数(即 OpenSSL 库)进行计算。如何确保两个程序都使用一个公共库,这意味着 只有 一个库副本被加载到 共享主内存 并且两个程序都从该内存位置访问该库计算?
例如,当第一个程序访问库进行计算时,它从主内存加载到缓存中,当第二个程序想要稍后访问它时,它将访问缓存中的数据(已经被第一个程序加载),不是再次从主内存中。
我在 Linux 下使用 GCC。任何解释或指针将不胜感激。
【问题讨论】:
-
使用共享库。之后操作系统会处理其余的事情。
-
你说的是代码段还是数据段?我想代码段是每个共享对象,数据段是每个进程。
-
@adrin,我想在不同的程序中对不同的数据集进行相同的计算,但使用相同的库。
-
这就是共享库的用途。
标签: c linux operating-system shared-libraries cpu-cache