C(條件編譯使用分析)

基本你概念

  • 條件編譯是預編譯提示命令,用於控制是否編譯某段代碼

本質

  • 預編譯器根據條件編譯指令有選擇的刪除代碼
  • 編譯器不知道代碼分支的存在
  • if…else…語句在運行期進行分支判斷
  • 條件編譯指令在預編譯期進行分支判斷
  • 可以通過命令行定義宏

     (1) gcc -D宏名=Value file.c
     (2) gcc -D宏名  file.c
    

.#include的本質

  • 將已經存在的文件內容嵌入到當前文件中
  • 間接包含同樣會產生嵌入文件的操作
  • 間接包含同一個頭文件會產生重複包含的問題,條件編譯可以解決這個問題

    #ifndef _HEADER_FILE_H
    #define _HEADER_FILE_H
    //source code
    #endif
    

意義

  • 條件編譯使得我們按不同的條件編譯不同的代碼段,從而產生不同的目標代碼
  • #if…#else…#endif被預編譯器處理,而if…else…語句被編譯器處理,必然編譯進目標代碼
  • 實際工程條件編譯的應用:
    • 不同產品線共用一份代碼
    • 區分編譯產品的調試版和發佈版
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章