gpt4 book ai didi

c++ - 为什么在两台略有不同的机器上编译的库表现略有不同?

转载 作者:太空狗 更新时间:2023-10-29 19:41:17 27 4
gpt4 key购买 nike

这是设置:

我的同事有一台带有 gcc 4.3.3 交叉编译器(来自 buildroot)的 Fedora x64_86 机器。我有一台带有相同交叉编译器的 Ubuntu 9.04 x64_86 机器。

我的同事构建了一个可在测试机器上运行的库 + 测试应用程序,我编译了相同的库和测试应用程序,但它在同一台测试机器上崩溃了。

据我所知,gcc 是针对 buildroot 编译的 ucLibc 构建的,因此,相同的代码,相同的编译器。什么样的主机差异会影响交叉编译?

任何见解表示赞赏。

更新:澄清一下,编译器相同。库和测试应用程序的源代码相同。唯一的区别是 testapp + lib 已经在不同的机器上编译了..

最佳答案

如果你的代码崩溃了(我假设你得到了一个 sigsegv),似乎有一个错误。这很可能是某种未定义的行为,例如使用悬空指针或写入缓冲区边界。

未定义行为的不幸之处在于,它可能在某些机器上工作。我想你正在经历这样的事件。尝试找到错误,您就会知道会发生什么:-)

关于c++ - 为什么在两台略有不同的机器上编译的库表现略有不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1268101/

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