当可执行文件与静态库链接时,可执行文件仅包含代码中使用的必要库部分,对吗?
但我错过了 - 如何准确使用共享对象(动态链接库)?
据我所知,它们不包含在可执行文件中,它们是使用动态加载的dlopen
,这是由链接器直接完成的,对吧?
在这种情况下,这个库在内存中的什么位置?我的意思是,这里有帖子,解释说动态库可以减少内存使用,但究竟如何呢?如果动态库以某种方式加载到共享内存中(用于多个进程),那么在这种情况下内核如何处理并发?
我意识到这可能是基本的东西,如果这是重复的,我很抱歉,我找不到这样的东西。
我知道静态链接与动态链接,我问的有点不同。