我有一些代碼或更好的說從STM32/FreeRTOS複製到OMAP2430/WindowsCE平臺的完整項目。VS2005如何強制所有指針訪問未對齊?
在複製的C/C++文件中,我有一些代碼處理在運行時創建和銷燬的數據結構,並且大小和地址對齊完全取決於在創建過程中進入數據結構的數據量每個。
我不想使用任何打包/填充來使地址對齊正確,但想要使用任何編譯器選項,將允許數據結構的不對齊訪問。 現在我已經用了數據結構的指針__unaligned
類型修飾符(從Windef.h
UNALIGNED
宏)
我知道它可以創建一些性能下降,但我可以在這個代碼特定部分與生活。
我想從我的同行程序員那裏知道的是,Windows CE編譯器設置中有一個選項會強制所有內存訪問未對齊。我正在談論這樣的一些事情https://blogs.oracle.com/d/entry/on_misaligned_memory_accesses
任何答案是非常感謝。
感謝
這可能是你需要的http://stackoverflow.com/questions/1318844/how-to-enable-armv6-unaligned-access-on-winmobile6 – Alex