|
前置處理是 C 語言的特色之一,很容易與自定函數搞混,下列說明作一些簡單區分:
前置處理 | 自訂函數 |
前置處理程式碼只是替換工作,不被編譯。(被替換完成的結果才被編譯) |
函數程式碼只被編譯。 |
前置處理程式碼在編譯前就會做好替換工作,編譯時不會看到前置處理程式碼。 |
函數程式碼只有在編譯時才處理。 |
前置處理換個白一點講法就是替換處理,替換的方式有下列幾種:
功 能 |
前置處理器之敘述 |
替換成檔案的內容 |
#include |
字串的置換/巨集定義 |
#define / #undef |
條件編譯 |
#if ... #elif ... #else ... #endif
#ifdef (#ifndef) ... #else ... #endif |
使用巨集常見錯誤
|