Re: [閒聊] 各種神人的code

作者: leolarrel (真.粽子無雙)   2014-09-22 19:08:20
我也來提供一個.C語言,64bit
struct A {
int8 arg1;
int8 reserve;
int16 reserve2;
int arg2;
int32 arg3;
int32 reserve3;
} __attribute__((packed));
.... 為什麼你不相信gcc 的對齊功能呢..
當然,如果這個A 物件的資料會在不同的CPU或硬體平台傳輸,程式可能會這樣寫,可是
既然都要在各種不同CPU 或硬體環境上傳輸,我寧願不要做對齊,浪費一堆網路封包傳送
reserve幹麻呢
作者: robler (章魚丸)   2014-09-22 19:36:00
可以停了嗎
作者: PoorLoser (廢文製造機)   2014-09-22 20:10:00
可能是存在 NVRAM 的連續資料
作者: u9654802 (別人笑我太瘋癲)   2014-09-22 23:02:00
有寫過BIOS你就知道為啥要這樣寫了
作者: realmeat (真肉)   2014-09-23 14:06:00
你真的那麼相信這段程式碼一定用gcc編
作者: leolarrel (真.粽子無雙)   2014-09-23 18:26:00
因為我要維護這段code ,所以我確定他要在gcc編譯特殊領域可能會需要特殊C語言寫法,不過,我維護的只是一般的C語言應用程式,超級純的userspace program
作者: kit51   2014-09-24 23:52:00
小弟不才,請問這不會被compiler最佳化嗎
作者: chwan (被Joanna詮釋的歌聲迷暈)   2014-09-25 18:51:00
userspace program 就不用考慮? 不用講大話吧

Links booklink

Contact Us: admin [ a t ] ucptt.com