請幫助宏初學者...我創建了一個簡單的宏來加載圖像並將其分成幾行,以便我可以記錄每次從宏生成的代碼執行(用於調試)。它看起來像這樣:宏中的註釋行
#define LOAD_PNG(L_I_IMAGE_NAME) ({ \
PngImageClass* __tmp; \
printf("Loading png: %s", L_I_IMAGE_NAME);\
__tmp = [image loading code here];\
__tmp; \
})
我的計劃是能夠很容易地註釋掉日誌行需要的時候,但預處理器將不會容忍任何的正常方式(手動)。應該怎麼做?!
編輯:我完全錯了,說它不工作「任何正常的方式」,因爲我一直懶到只嘗試單行評論。我還會聽取幾位響應者的建議,將其轉變爲一種功能。不,沒有什麼好的理由(我猜)爲此使用宏。
有沒有原因,你使用宏而不是函數?這看起來不像一個宏,即使是一個好主意的地方。 – Eric 2009-07-15 12:01:57