我仍然是 C 语言的菜鸟,所以我有一个关于链接的问题。 我们有两个程序“A”和“B”,它们链接到动态链接库“C”。
现在我们开始程序“A”和“B”。
“C”现在发生了什么。是两个程序都加载一次,还是每个程序加载两次?
什么是,当程序 B 是 Python 程序时,它使用了外部函数接口(interface)?
最佳答案
这完全取决于操作系统,但对于例如Linux 或 Windows 共享库只会加载一次,但会被映射 两次。使用共享库的每个进程都将映射库,但这些映射都指向相同的单个加载库。
映射是在每个进程的基础上完成的,进程做什么或是什么并不重要(如果它是您编写的程序、Python 解释器或完全不同的东西)。
关于c - 两个程序链接到动态链接库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33625539/