gpt4 book ai didi

c++ - 编译一个c工程到最小尺寸

转载 作者:行者123 更新时间:2023-11-28 03:35:20 46 4
gpt4 key购买 nike

我正在嵌入式处理器 (NIOS 2) 上使用 opencv 库编写算法,以便移植要在 nios 上编译的库:

1 - 我删除了 highgui 和所有处理 IO 操作的函数。

2 - 我把剩下的文件(很多)和我的 main.cpp 一起添加到一个新的 eclipse 项目中。

3 - 我可以编译代码并正常运行,但主要问题是将下载到嵌入式处理器的输出文件(.elf 文件)太大,未经优化约 20 MB,经优化约 6 MB优化级别 3。

是否有任何提示可以只编译这个大型项目中需要的文件并跳过我没有在我的代码中调用的其他文件?

最佳答案

假设您正在使用 main() 构建普通的可执行二进制文件,链接器已经删除了无法调用的内容。

如果您知道某些文件根本没有被使用,那么请将它们从项目中删除。任何导致的错误都应该告诉您它们实际上是如何可以被调用的,并且您需要删除可能导致那里的代码路径。

您可能会使用 -Os 而不是 -O3 来优化大小,但我不知道在 NIOS 平台上有多大差异,其中(除非事情发生了翻天覆地的变化)优化尺寸始终是必不可少的。

关于c++ - 编译一个c工程到最小尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11069810/

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