我已在Windows CE 6.0中为驱动程序构建了一个测试,但由于传入的内存未正确对齐,因此某些测试失败。
如何控制堆栈上自动变量的对齐(而不是内部结构)?
请记住,除了我如何构建它之外,我无法以任何方式更改此测试。
答案 0 :(得分:0)
没有错误消息,问题是当在堆栈上声明无符号字节时,地址不是4字节对齐的,我需要它。
构建的exe是一致性测试,我无法更改代码。当我为windows构建时,堆栈变量是4字节对齐的,但是当我为CE构建时它们没有对齐
答案 1 :(得分:0)
自动变量会根据其自然对齐自动对齐,除非您明确告诉编译器不要这样做。因此,如果需要一个4字节对齐的地址,请声明一个4字节变量,如DWORD。