当前位置: 技术问答>linux和unix
memory align
来源: 互联网 发布时间:2015-03-13
本文导语: 一个应用程序在linux,freeBSD,windows都可以编译运行,但是在solaris(32 & 64) 下,必须加memalign编译选项,否则就bus错误,请问有那些原因导致这一情况? 多谢了! | 这个跟具体的硬件平台有关。 我想你的lin...
一个应用程序在linux,freeBSD,windows都可以编译运行,但是在solaris(32 & 64)
下,必须加memalign编译选项,否则就bus错误,请问有那些原因导致这一情况?
多谢了!
下,必须加memalign编译选项,否则就bus错误,请问有那些原因导致这一情况?
多谢了!
|
这个跟具体的硬件平台有关。
我想你的linux,freeBSD,windows程序,应该都是运行在X86平台上吧?而你的solaris(32 & 64)应该是运行在Sparc平台上的吧?
X86属于little-endian,而Sparc属于big-endian,他们的对齐方式是不一样的
举个例子,比如说十进制的1000,16进制位03E8
在X86上,内存低->内存高 E8 03
在Sparc上 内存低->内存高 03 E8
我想你的原因可能就出在这上边吧?希望大家补充,呵呵
我想你的linux,freeBSD,windows程序,应该都是运行在X86平台上吧?而你的solaris(32 & 64)应该是运行在Sparc平台上的吧?
X86属于little-endian,而Sparc属于big-endian,他们的对齐方式是不一样的
举个例子,比如说十进制的1000,16进制位03E8
在X86上,内存低->内存高 E8 03
在Sparc上 内存低->内存高 03 E8
我想你的原因可能就出在这上边吧?希望大家补充,呵呵
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。