#pragma,是一個編譯控制指令,可以在編譯時動態地調整編譯選項,這種指令在不同的編譯系統中是不同的.
#pragma DATA_ALIGN( symbol,constant)
指令的作用是:排列排列symbol到constant指點的列邊界上.
#pragma DATA_ALIGN( rxdata_stream, 128)
就是讓rxdata_stream地址的末尾7位是0(二進制地址),就是128字節對齊。
對齊的目的,一般是位了CACHE讀寫外存。
如果一個CACHE的line是128字節。這樣,如果數據128字節對齊,那麼取一個128字節的數據,只使用一個CACHE行就夠了。
char efd;
#prgma DATA_ALIGN(efd, 8)
編譯時一定會把efd變量的地址安排在8字節對齊的位置上,也即efd地址的低3位一定爲0。
轉自:http://blog.csdn.net/sunnyyang009/article/details/4644880