2013年5月3日 星期五

[C]#if和#else,切換程式碼的小技巧

在寫程式時當我們修改程式碼時通常會把舊有的程式碼註解起來,再加入新的程式碼。有沒有什麼方法能快速在新舊程式碼之間切換呢?C裡頭的#if和#else是一個好方法。下列是一個常見的新舊程式碼範例,我們用註解把程式碼分開:
                   
newCode();             
/*                     
someOtherCode();        
*/
/*  
newCode();             
*/                      
someOtherCode(); 
其實可以用C裡頭preprocessor的小技巧來快速切換程式碼
#if 1
newCode();  
#else
test(); /* FIXME: please don't to that. */
someOtherCode(); 
#endif    
#if 0
newCode();
#else
test(); /* FIXME: please don't to that. */
someOtherCode(); 
#endif    
如此一來我們只要切換1和0就可以快速切換不同區塊的程式碼,就算裡頭有註解也不用擔心
要註解一大塊程式碼也可以使用這個技巧
#if 0
newCode();
test();
#endid

1 則留言: