Gui*_*e07 5 c++ memory-alignment
在以下链接中:http://msdn.microsoft.com/en-us/library/ms684122(VS.85).aspx,据说"对正确对齐的32位变量的简单读写是原子操作".我想知道在c ++程序中是否所有32位变量默认都是正确对齐的.换句话说,有些情况是32位变量无法正确对齐.
如果您不告诉编译器不这样做,那么它将正确对齐 32 位变量。
您可以编写将 32 位变量放置在非对齐地址的代码(例如,通过创建 的数组char,并将 int 写入数组中的奇数索引)。
您还可以使用编译器#pragmas 告诉编译器不要对齐特定类型或变量。
但如果您不这样做,那么您的变量将正确对齐。
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |