内存对齐还是需要重视的——XMMATRIX 为例

原创
2017/10/19 14:34
阅读数 349

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

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

赶紧排查问题,x64 的 Debug、Release 都是可以的,而 x86 则是 Debug 可以,Release 才会崩。

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

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

原因是 XMMATRIX 需要 16 字节对齐,但代码的作者把它塞在几个类里,然后去 new 这些类了……

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

八哥太多,不能轻易放任警告!

展开阅读全文
加载中

作者的其它热门文章

打赏
1
0 收藏
分享
打赏
0 评论
0 收藏
1
分享
返回顶部
顶部