首页 > 解决方案 > 传递给 gcc 的多个源文件是否被视为单个翻译单元?

问题描述

我想我已经读过,根据Single Compilation Unitgcc ,同时编译多个文件将实现与将所有源添加到单个源文件中相同的效果,但我再也找不到任何源了。真的吗?

我们目前正在尝试将二进制文件缩小到可能的最小尺寸,并正在应用多种技术来实现这一目标。我们讨论到了关于单个编译单元、链接时间优化和更改构建以在单个编译器调用中编译所有源代码之间的差异的讨论,例如gcc -o binary $CFLAGS $INCLUDES $CDEFS a.c b.c c.c d.c e.c.

标签: cgccltotranslation-unit

解决方案


不可以。传递给编译器的每个独立 .c 文件都被视为一个翻译单元,因此传递给编译器的多个文件会产生多个独立的翻译单元。


推荐阅读