2010-09-07 78 views
0

我在Windows CE 6.0中爲驅動程序構建了一個測試,並且一些測試失敗,因爲傳入的內存未正確對齊。Windows CE 6.0中的堆棧數據對齊方式

如何控制堆棧上的自動變量(不是內部結構)的對齊方式?

請記住,除了我如何構建它之外,我無法以任何方式更改此測試。

+0

我從來沒有遇到過這樣的問題。你能發佈錯誤信息嗎? – Shaihi 2010-09-07 04:38:21

回答

0

沒有錯誤消息,問題是當在堆棧上聲明無符號字節時,地址不是4字節對齊的,我需要它。

構建的exe是一致性測試,我無法更改代碼。當我爲Windows構建堆棧變量時,它們是4字節對齊的,但是當我爲CE構建它們時,它們並不對齊

+0

用這樣的信息編輯您的原始問題,或者在您澄清的答案中使用註釋。如果您正在回答您的實際問題,請提供答案。 – ctacke 2010-09-07 18:59:50

+0

我從這個問題提出這個問題,我失去了帳戶的處理 – wincehelp 2010-09-07 22:40:45

0

自動變量根據其自然對齊自動對齊,除非您明確告訴編譯器不要這樣做。因此,如果您需要4字節對齊的地址,請聲明一個4字節的變量,如DWORD。