传递到gcc的多个源文件是否被视为一个翻译单元?

时间:2019-02-26 18:33:42

标签: c gcc lto translation-unit

我想我已经读过,根据Single Compilation Unit,同时使用[track, 2212, 2194.4082, 0.28044, -0.00229, -0.95987, 0], [track, 21, 1745.5736, 0.30398, -0.25261, -0.91858, 0], [track, 2212, 939.8723, -0.50622, -0.54921, -0.66492, 0], [track, 212, 950.5656, -0.97206, -0.19458, 0.13131, 0], [track, 21, 6132.1333, 0.29963, -0.18552, -0.94129, 0], [track, -21, 7926.3042, 0.18966, -0.13053, -0.97313, 0], [track, 21, 4186.8740, 0.38838, -0.12646, -0.91278, 0], [track, -21, 5964.8052, 0.20810, -0.18427, -0.96587, 0] 编译多个文件将实现与将所有源代码添加到单个源文件中相同的效果,但是我可以找不到任何来源。是真的吗?

我们目前正在尝试将二进制文件缩小到最小大小,并应用多种技术来实现这一目标。我们已经到了讨论的重点,讨论了单个编译单元Link Time Optimization与更改内部版本以在单个编译器调用中编译所有源代码之间的区别,例如gcc

1 个答案:

答案 0 :(得分:2)

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