宏函數爲何使用do{...}while{0}包起來

在咱們看內核源碼或者庫以及一些優秀的源碼時,都會發現他們的宏函數是包括在do{…}while(0)內。具體的緣由其實想一想就能明白。css 考慮下面一個特殊的例子。 宏函數的定義以下:web #define test(x) \ a(x); \ b(x); 若是在調用時是這樣調用的:bash if (judge) test(x); 那麼展開以後就是:svg if (judge): a(x
相關文章
相關標籤/搜索