gpt4 book ai didi

c - GCC 4.0.2 取消引用指向结构的双类型成员的指针会引发 SIGBUS 错误

转载 作者:行者123 更新时间:2023-11-30 18:05:11 25 4
gpt4 key购买 nike

以下示例代码对我来说看起来不错,但如果使用 GCC 4.0.2 编译,则在 Solaris 上执行时总是会失败并出现 SIGBUS 错误,但如果使用 GCC 3.4.2 版本编译,则运行正常。有什么想法吗?

        //params is a pointer to a structure Param, which has a member d whose type is double. It was initiated/allocated through JNI.

params->d = 5.0;
double *b = &params->d;
double c = params->d;
c += *b;

SIGBUS 在最后一行提出,即取消引用指针并访问内容导致了问题。

谢谢,查尔斯

最佳答案

对我来说,这听起来像是一个对齐问题。 IIRC,double 必须对齐到 64 位。

关于c - GCC 4.0.2 取消引用指向结构的双类型成员的指针会引发 SIGBUS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6780390/

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