gpt4 book ai didi

c - 为什么此代码在 HPUX 上会崩溃?

转载 作者:太空宇宙 更新时间:2023-11-04 07:10:49 25 4
gpt4 key购买 nike

我编写了一个类似于我在项目中遇到的问题的小程序。问题是,为什么在HP-UX平台上运行会崩溃?

错误:

si_code: 1 - BUS_ADRALN - 无效地址对齐

代码:

int main()
{
uint8_t *cmd ;
cmd = (uint8_t *) malloc(77);
uint32_t gen = 20;
*(uint32_t*)&cmd[10] = gen; /* crash here */
return 0;
}

最佳答案

&cmd[10] 未正确对齐以存储 32 位整数 – 因为 cmd 的每个元素都是一个字节长,而 返回的地址malloc 为“任何类型”正确对齐,cmd 的第 11 个元素不会位于可被 4 整除的地址。

关于c - 为什么此代码在 HPUX 上会崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28555576/

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