问题描述
让我们说我们有多个.c文件,例如a.c
,b.c
,c.c
,d.c
...等,然后我们创建了一个共享库{{1} }基于这些文件,而sharedlib.so
仅使用main.c
中的functionb()
函数。
据我对共享库的了解,每个共享库都有一个b.c
部分,并且此.text
部分在其成员文件.text
,a.c
中包含所有函数的指令,b.c
,c.c
...等。因此,即使d.c
仅使用一个函数,共享库也将被加载到内存中,因此整个main.c
部分位于内存中,而.text
的{{1}}部分包含一个.text
不使用的许多功能。
我的上述理解正确吗? (我知道使用共享库的好处是,与静态库相比,内存中只有一个副本。因此,一般来说,使用共享库更好)。只是想仔细检查一下使用共享库是否会导致将不必要的内容复制到记忆。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)