内存对齐仍是须要重视的——XMMATRIX 为例

最近研究 D3D,搜了一个教材跟着学:http://www.rastertek.com/dx11s2tut04.htmlhtml

用 x64 的配置运行,完美,过了几天须要用 x86 测试,结果一运行,程序崩溃……测试

赶忙排查问题,x64 的 Debug、Release 都是能够的,而 x86 则是 Debug 能够,Release 才会崩。htm

开发环境是 VS2015,编译时曾经遇到一些错误和警告,是 UMU 本身消灭掉了,最后有一类警告应该是关键:开发

warning C4316: 'SystemClass': object allocated on the heap may not be aligned 16get

缘由是 XMMATRIX 须要 16 字节对齐,但代码的做者把它塞在几个类里,而后去 new 这些类了……编译

尝试把这些类从 heap 改成 stack,问题解决!ast

八哥太多,不能轻易听任警告!配置

相关文章
相关标签/搜索