gpt4 book ai didi

c++通过以编程方式排除不必要的函数来减少库大小?

转载 作者:行者123 更新时间:2023-11-30 01:13:45 25 4
gpt4 key购买 nike

通过只选择需要的函数并删除不必要的文件来减少库大小的更简单方法是什么?是否有脚本可以为 C++ 库完成此任务?

最佳答案

您可能应该首先尝试设置您的编译以最小化大小。你的问题的答案在很大程度上取决于编译器、链接器、什么操作系统、优化标志等......

最近 GCC Linux 上的编译器 (g++),您应该尝试编译并链接 优化大小 (-Os) 和 link time optimization (-flto)。

这样说

CXX=g++ -flto -Os

Makefile 的开头附近或在 make clean 之后简单地运行 make CXX='g++ -flto -Os'

顺便说一句,Clang/LLVM也了解 -flto(并像 GCC 一样使用 GOLD)

注意共享 library (或者可能是 Microsoft 世界中的 DLL)需要包含所有代码(正是因为它在多个进程和程序之间共享)。您可以静态链接您的库(然后在构建静态库和将其链接到主程序时都使用 g++ -flto -Os)

很多时候,拥有共享库比试图减少它们的空间更值得。

如果在 Linux 上,请阅读 program library howto .

关于c++通过以编程方式排除不必要的函数来减少库大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31354641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com