【发布时间】:2013-04-07 22:02:46
【问题描述】:
我正在运行一个小型嵌入式 Linux 系统,我的应用程序使用一大堆动态链接库(*.SO 文件)。
我正在尝试节省磁盘空间,所以我想我可以将所有 .SO 文件压缩到一个压缩的 zip 文件中。
然后,当应用程序启动时,我会解压缩所有 .SO 文件,然后使用 dlopenext C 函数打开它们,然后在打开它们后将它们全部删除,因为静态库现在将在内存中?
从磁盘中删除 *SO 文件后,我还能在静态库中查找和调用函数吗?它现在应该在内存中吧?
有什么想法吗?
【问题讨论】:
-
为什么不直接从压缩文件系统运行呢?例如。壁球。
-
它已经在使用 squash,但除了磁盘空间之外,我还有其他原因需要压缩 SO 文件。我想知道打开库后,我现在可以从磁盘中删除未压缩的文件并且它仍然可以工作吗?