内存对齐还是需要重视的——XMMATRIX 为例
生活随笔
收集整理的這篇文章主要介紹了
内存对齐还是需要重视的——XMMATRIX 为例
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近研究 D3D,搜了一個教材跟著學(xué):http://www.rastertek.com/dx11s2tut04.html
用 x64 的配置運行,完美,過了幾天需要用 x86 測試,結(jié)果一運行,程序崩潰……
趕緊排查問題,x64 的 Debug、Release 都是可以的,而 x86 則是 Debug 可以,Release 才會崩。
開發(fā)環(huán)境是 VS2015,編譯時曾經(jīng)遇到一些錯誤和警告,是 UMU 自己消滅掉了,最后有一類警告應(yīng)該是關(guān)鍵:
warning C4316: 'SystemClass': object allocated on the heap may not be aligned 16
原因是 XMMATRIX 需要 16 字節(jié)對齊,但代碼的作者把它塞在幾個類里,然后去 new 這些類了……
嘗試把這些類從 heap 改為 stack,問題解決!
八哥太多,不能輕易放任警告!
轉(zhuǎn)載于:https://my.oschina.net/umu618/blog/1553339
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的内存对齐还是需要重视的——XMMATRIX 为例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#编程(八十一)----------
- 下一篇: java中string和int的相互转换