avatar
d*g
1
这么一段code:
void *p;
*(double *)p=0.01;
用gcc 4.1.2编译cc 9.1就会出现Segmentation fault,哪
位知道会是什么原因呢?操作系统是 Ubuntu 7.04 32bit,CPU是Intel
Core Duo T2500.
avatar
k*f
2
p没有分配空间

【在 d******g 的大作中提到】
: 这么一段code:
: void *p;
: *(double *)p=0.01;
: 用gcc 4.1.2编译cc 9.1就会出现Segmentation fault,哪
: 位知道会是什么原因呢?操作系统是 Ubuntu 7.04 32bit,CPU是Intel
: Core Duo T2500.

avatar
B*e
3
my guess is misalignment.
it might be that p is 32bit aligned but is required to be 64bit aligned when
being cast to pointer to double.

【在 d******g 的大作中提到】
: 这么一段code:
: void *p;
: *(double *)p=0.01;
: 用gcc 4.1.2编译cc 9.1就会出现Segmentation fault,哪
: 位知道会是什么原因呢?操作系统是 Ubuntu 7.04 32bit,CPU是Intel
: Core Duo T2500.

avatar
o*r
4
exactly

【在 k****f 的大作中提到】
: p没有分配空间
avatar
d*g
5
多谢多谢,果然用malloc分配空间以后就好了。

【在 k****f 的大作中提到】
: p没有分配空间
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。