標頭檔案包含方式,main函式的引數解析
條件編譯:
在編譯一個程式的時候我們如果要將一條(一組)語句編譯或放棄是很方便的因為我們有條件編譯
比如除錯性的程式碼,刪除可惜,保留又礙事,我們就可以選擇條件編譯
常見的條件編譯語句:
1.
#if 常量表示式
//……
#endif
//常量表示式由處理器求值,因為變數在執行事才會建立,而這些條件編譯在預處理階段
2.多分支的條件編譯
#if 常量表示式
//……
#elif 常量表示式
//……
#else
//……
#endif
3.判斷是否被定義
#if defined(symbol)
#ifdef symbol
#if !defined(symbol)
#ifdef symbol
4.巢狀指令
#if defined(OS_UNIX)
#ifdef OPTION1
//……
#endif
#ifdef OPTION2
//……
#endif
#endif
標頭檔案被包含的方式:
- #include<stdio.h>:一般用於庫檔案,直接去庫目錄下查詢
Windows:C:\program Files(x86)\Microsoft Visual Studio 9.0\vc\include
Linux:\user\include
- #include"filename":一般用於自定義的檔案,先去當前使用者的工程目錄下去找,找不到再去庫目錄下去找。
注:" "也可用於庫檔案,但是查詢的效率比較低,也不易區分庫檔案和本地檔案
問:標頭檔案中的 ifndef/define/endif 幹什麼用?
答:防止標頭檔案的重複引入
其他預處理指令
1.#error
2.#program
#program warning (disable:4996)
3.line
……
main()函式的引數解析
1.main()函式的原型:
int main(int argc,char *argv[],char *envp[])
2.引數分析
1)argc:整型變數,標識命令列引數的個數
2)argv:字元指標陣列,指向一個字串,這個字串就是命令列引數的每一個引數
3)envp:字元指標陣列,陣列的每一個元素是一個指向一個環境變數的字元指標。
相關文章
- 巨集_變數_函式_指標_標頭檔案變數函式指標
- Nt函式原型標頭檔案函式原型
- algorithm標頭檔案下的常用函式Go函式
- C語言 - 標頭檔案包含C語言
- Oracle引數檔案解析——引數解析Oracle
- Main函式引數argc,argv如何傳入AI函式GC
- C++ main函式命令列引數使用C++AI函式命令列
- 函式的呼叫方式和引數函式
- C++ 標頭檔案的包含順序研究C++
- C#中Main函式後引數的處理C#AI函式
- string.h標頭檔案(字串函式)字串函式
- 【C】 33_main 函式與命令列引數AI函式命令列
- Python中的main函式解析PythonAI函式
- Rust 問答之如何獲取 main 函式的引數RustAI函式
- C++ 字元處理函式(cctype標頭檔案)C++字元函式
- 關於QT的標頭檔案相互包含的問題QT
- Oracle引數檔案解析——引數檔案分析獲取Oracle
- C++ 數學函式、標頭檔案及布林型別詳解C++函式型別
- C++ 字串 cctype 標頭檔案標準庫處理函式C++字串函式
- C++標頭檔案<algorithm>中常用函式簡介C++Go函式
- C 語言專案中標頭檔案包含的最佳實踐
- C語言rewind()函式:將檔案指標重新指向檔案開頭C語言函式指標
- 雖然包含string標頭檔案但未用std::
- 函式定義、函式的引數、函式的預設引數函式
- main函式的入口函式AI函式
- 字串 reverse(str.begin(),str.end()) 函式的標頭檔案 以及 str.clear()函式字串函式
- C語言標頭檔案組織與包含原則C語言
- Qt 標頭檔案互相包含會報錯'' does not name a typeQT
- ES6箭頭函式的剩餘引數函式
- 關於C++引用做為函式引數和指標作為函式引數C++函式指標
- 函式引數 引數定義函式型別函式型別
- 8.13 標頭檔案剖析:標頭檔案路徑(下)
- Java——main函式JavaAI函式
- 8.10 標頭檔案剖析:變數宣告變數
- C 標頭檔案
- 標頭檔案的作用分析
- C++基礎::函式、類、型別所在的標頭檔案 && 介面的介紹C++函式型別
- 3.3.2 函式的預設引數和佔位引數 函式過載函式