【发布时间】:2018-11-26 07:17:18
【问题描述】:
是否可以将大的.a 文件拆分为多个较小的文件?
我目前遇到.a 文件大小为多个 GiB 的问题,即使使用标志 -mcmodel=medium,GCC 也会引发错误。
【问题讨论】:
-
你有资源吗?
-
是的,我有消息来源。
-
然后将它们编译成多个静态库,而不是一个巨大的。这比尝试拆分大型编译库要容易得多。
-
将静态库细分为更小的库很容易,无需重新编译任何代码,但这并不能解决您的
mcmodel错误。编辑您的帖子,向我们展示确切的命令行和产生的错误,这可能会有所帮助。 -
您可以从大型静态库中提取所有目标文件,然后将函数的子集打包到较小的库中。但是,您可能很难确定哪些子集在较小的库中有意义,以避免较小的库之间的递归依赖关系。我不确定这会避免您对整个库大小的问题(但我不知道它也无济于事)。
标签: c gcc linker static-libraries unix-ar