構建一個編譯時錯誤

#define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) , 如果e爲非0的話,將會產生一個編譯時錯誤, 因爲一個位域不能爲負數, 爲0 的話OK。 原來一個結構體的定義也可以這樣,木有結構名,其成員也木有名, 尼瑪都是無名氏啊, 其實不管怎麼奇怪,只要你丫編譯器能認識就行了。 算是一種約定吧, 這個宏的名字取得反義。。。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章