在libc中的malloc(x)时,该功能是所述的指针返回到存储器区域的至少x字节和指针对准8个字节。这种对齐意味着什么?谢谢。当malloc返回时,8字节对齐意味着什么?
5
A
回答
8
6
这意味着内存上的地址是8
至于为什么你甚至会在乎多开始:对于不是对齐的内存中,CPU有时需要两次访问阅读全部内容。在某些情况下,它甚至不会尝试并只会引发错误。提到“与8字节对齐”是为了让调用者知道它是否需要做任何指针的欺骗操作。
(通常情况下,你不会在乎 - 编译器负责大部分的对齐问题为您但是信息的存在,如果你需要它的一些原因。)
1
内存对齐描述模的地址。所以8字节对齐意味着他的地址是8的倍数。
这对于许多较旧的系统来说非常重要,因为地址需要在“字”边界上对齐,通常是四个字节或两个字节的倍数。如果没有正确对齐,程序会因'对齐错误'而崩溃。
更新的机器通过从任何地址加载来解决此问题,但通常这意味着加载数据需要几个周期。
相关问题
- 1. AuthorizationExecuteWithPrivileges()返回-1时意味着什么?
- 2. 当python socket.sendall成功返回时,它意味着什么?
- 3. 什么是chrome.identity.getProfileUserInfo意味着返回?
- 4. 返回客户端意味着什么?
- 5. JAVA:对于ArrayIndexOutOfBoundsException异常,返回值意味着什么?
- 6. MySQL中的节点意味着什么?
- 7. 当Mockito的“何时”有多次“返回”呼叫时,这意味着什么?
- 8. “内存是8字节对齐”是什么意思?
- 9. '#if _LFS64_LARGEFILE-0'对CPP意味着什么?
- 10. 这对循环意味着什么?
- 11. GL_UNSIGNED_BYTE对于glTexImage2D意味着什么?
- 12. PREEMPTIVE_XE_DISPATCHER这意味着什么?
- 13. Field.Index.NOT_ANALYZED_NO_NORMS意味着什么
- 14. $这意味着什么PHP?
- 15. 什么===在PHP意味着
- 16. MYSQLI_NUM意味着什么?
- 17. * | *这意味着什么CSS?
- 18. 溢出意味着什么?
- 19. HttpServletResponse.SC_BAD_REQUEST意味着什么?
- 20. 什么呢JDBC:HSQLDB:hsqlTempFiles意味着
- 21. 奎因意味着什么?
- 22. 是什么字符*意味着
- 23. 分配时&& do /意味着什么? JAVA
- 24. 在AngularJS中结尾意味着什么double意味着
- 25. Ajax与telerik绑定 - 这意味着什么返回?
- 26. 如果NSURLSession#dataTaskWithRequest返回nil,意味着什么?
- 27. 在这个reducer中返回{... state,}究竟意味着什么?
- 28. 这意味着什么“返回一个兼容的类型”?
- 29. 什么列字节,表DBA_DATA_FILES的USER_BYTES意味着
- 30. 〜=是什么。在Stata意味着什么?
一会,以保证CPU能够有效地读取存储器地址关心字节对齐。不对齐的内存块导致总线错误。请参阅此处的未对齐访问部分 - > http://en.wikipedia.org/wiki/Segmentation_fault#Bus_error – 2013-03-14 23:50:24