在Windows CE 6.0中堆栈数据对齐

时间:2010-09-07 02:18:55

标签: windows-ce

我已在Windows CE 6.0中为驱动程序构建了一个测试,但由于传入的内存未正确对齐,因此某些测试失败。

如何控制堆栈上自动变量的对齐(而不是内部结构)?

请记住,除了我如何构建它之外,我无法以任何方式更改此测试。

2 个答案:

答案 0 :(得分:0)

没有错误消息,问题是当在堆栈上声明无符号字节时,地址不是4字节对齐的,我需要它。

构建的exe是一致性测试,我无法更改代码。当我为windows构建时,堆栈变量是4字节对齐的,但是当我为CE构建时它们没有对齐

答案 1 :(得分:0)

自动变量会根据其自然对齐自动对齐,除非您明确告诉编译器不要这样做。因此,如果需要一个4字节对齐的地址,请声明一个4字节变量,如DWORD。