gpt4 book ai didi

gcc 编译时间和内存使用随着源代码中数组大小的变化而变化

转载 作者:行者123 更新时间:2023-12-04 18:47:57 28 4
gpt4 key购买 nike

这是 Linux 上的 gcc 4.4.6。

这是行为

bizarre.c

double a[500000000];

main() {
}

如果我使用以下方法编译它:
gcc bizarre.c

然后编译器用了4G内存,时间长。

如果我将数组大小设为 50000000,则编译占用的内存和时间要少得多。

这就像编译器正在执行它正在编译的代码。

我意识到以这种方式创建一个庞大的数组可能不是最佳实践,但有什么解释吗?

最佳答案

这是一个与 --build-id 相关的已知链接器错误,现在已在主线上修复。见 http://sourceware.org/bugzilla/show_bug.cgi?id=12451一些发行版采用了 Nick 的早期补丁,它不必要地计算了 .bss 的校验和,要求分配 .bss 部分并归零。向您的发行版投诉。

关于gcc 编译时间和内存使用随着源代码中数组大小的变化而变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11043421/

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