Redian新闻
>
夏天又到了,要开个猫门么?
avatar
夏天又到了,要开个猫门么?# pets - 心有所宠
p*e
1
我想从integer bit-to-bit的cast到double:
int x = 0;
double f = *((double*)&x);
这个cast为啥一直是有效的?一个integer的地址是4-byte aligned,也就是说,valid
integer address should end with 0, 4, 8 or c. double是8-byte aligned, 也就
是,valid double address should end with 0 or 8.
那么如果x的地址是 end with 4 or c, 这个cast为啥还是有效的?
为了保证这个问题始终出现,我把程序改成:
int x[2] = {0, 0};
double f1 = *((double*)&x[0]);
double f2 = *((double*)&x[1]);
这样做保证x[0]和x[1]里始终有一个的地址不是 8-byte aligned,但最后的结果是f1
是0,f2是乱码,但都没报错。
这种cast为啥可以不考虑alignment?是compiler动了什么手脚吗?
avatar
m*u
2
我家猫猫进出走纱门,可是我也不能老开着纱门
但是如果我关上,某些猫眼神不好,常常一头撞过来,把纱门撞得都走形了
或者就像昨天的毛团哥,天黑了还不见猫影,害我坐纱门边等半天,他才溜溜达达不慌
不忙的回来。
怎么在纱门上开个比较完美的猫门呢?有没有开过的给点建议啊?
我见过同事开狗门的,就是把纱门顺着边割下来,当啷在那里,貌似我不需要搞这么大
。。。
avatar
s*x
3
1) I do not think the alignment is enforced, you can always cast at any
address. the alignment may be true for some other machines, but not the
normal pc we work with.
2) as long as I understand, the alignment is just more efficient,
that is why you see alignment is data structures, malloc return values etc.
3) C is very flexible, you can cast any number to an address and do
something, I guess hackers like that a lot.
you have to know what you are doing.
avatar
z*o
4
以前我的纱门被猫整个撞破了都
装了那就彻夜不归了 昨晚出去抓了几次都不愿意回家 最后拿虾出去才成功
avatar
m*u
5
我想装一个只能进不能出的那种,不知道我家猫猫会不会发现
avatar
N*t
8
有那种专门给patio用的猫门,开在玻璃上的

★ 发自iPhone App: ChineseWeb 7.8

【在 m*******u 的大作中提到】
: 我家猫猫进出走纱门,可是我也不能老开着纱门
: 但是如果我关上,某些猫眼神不好,常常一头撞过来,把纱门撞得都走形了
: 或者就像昨天的毛团哥,天黑了还不见猫影,害我坐纱门边等半天,他才溜溜达达不慌
: 不忙的回来。
: 怎么在纱门上开个比较完美的猫门呢?有没有开过的给点建议啊?
: 我见过同事开狗门的,就是把纱门顺着边割下来,当啷在那里,貌似我不需要搞这么大
: 。。。

avatar
m*u
11
太贵了啊,我想要便宜美观实用的。。。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。