Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gcc 链接时间过长的ARM交叉编译器_Gcc_Arm_Cross Compiling_Gnu Toolchain - Fatal编程技术网

Gcc 链接时间过长的ARM交叉编译器

Gcc 链接时间过长的ARM交叉编译器,gcc,arm,cross-compiling,gnu-toolchain,Gcc,Arm,Cross Compiling,Gnu Toolchain,我目前正在使用设备制造商提供的各种工具链将一个大型代码库移植到多个arm平台。如果我在linux上构建并链接代码,链接大约需要30秒。对于我拥有的许多交叉编译器来说,这段时间大致相同,但对于其中一些编译器来说,这段时间超过了10分钟以上。我尝试了一些技巧来降低这个值,但没有任何帮助(例如创建一个超级库)。唯一明显不同的是使用-0s链接,它将时间缩短了近40%,但仍然给我留下了6分钟的链接,而且在调试过程中也不太理想,因为大部分代码都经过了优化 是什么让一个交叉编译器比其他编译器慢得多?一般来说,

我目前正在使用设备制造商提供的各种工具链将一个大型代码库移植到多个arm平台。如果我在linux上构建并链接代码,链接大约需要30秒。对于我拥有的许多交叉编译器来说,这段时间大致相同,但对于其中一些编译器来说,这段时间超过了10分钟以上。我尝试了一些技巧来降低这个值,但没有任何帮助(例如创建一个超级库)。唯一明显不同的是使用-0s链接,它将时间缩短了近40%,但仍然给我留下了6分钟的链接,而且在调试过程中也不太理想,因为大部分代码都经过了优化

是什么让一个交叉编译器比其他编译器慢得多?一般来说,这些编译器的特性几乎相同(ARMv7、NEON支持、GCC4.x)


有什么建议可以提高链接时间吗?我链接到3个静态库,其余的是系统库的动态链接。

您使用的是什么工具链?如果你说得更具体一些,这会更容易回答。这里有两个示例,请告诉我这是否是你需要的:快速示例:./gcc--version gcc('cs2009q3-hard-67-sb16')4.4.1慢速示例:./gcc--version gcc(Sourcery G++Lite 2009q3-67)4.4.1Erm,不完全是。这些都是,都是通过发布的。我猜第一个“hard”指的是NEON中的硬件浮点,但NEON中没有它并不意味着它不存在。实际上,与arm工具链的链接是一个巨大的帮助。我下载了2010年第一季度的4.4.1版本,链接器速度非常快(7秒而不是6分钟以上)。谢谢这很好,但是请注意,两个工具链都来自同一个版本。缓慢的不是CodeSourcery/GCC主干,而是与某个工具链的设置有关。