一个sse的指令问题:
MOVAPS 在src或者dst不是16byte align的时候会crash。
所以在使用std::vector<XMMATRIX>的时候就要加一个aligned allocator。
stl对其编译问题:
另外就是一个std::vector的一个函数void resize(size_type _Newsize, _Ty _Val)
这个很郁闷,在_Ty是aligned的类型的时候(__declspec(align(16))这种)会编译不过,因为mscompiler不支持参数的align。
搜索了很多之后,最根本解决方案还是替掉stl,自己来实现这些container。
这个,目前肯定不会因为这个东西来做这么工作量大的coding。
所以直接hack进vector的代码了,改成void resize(size_type _Newsize, const _Ty& _Val)。