標頭檔案包含方式,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:字元指標陣列,陣列的每一個元素是一個指向一個環境變數的字元指標。
相關文章
- 巨集_變數_函式_指標_標頭檔案變數函式指標
- algorithm標頭檔案下的常用函式Go函式
- C語言 - 標頭檔案包含C語言
- string.h標頭檔案(字串函式)字串函式
- Python中的main函式解析PythonAI函式
- 函式的呼叫方式和引數函式
- 【C】 33_main 函式與命令列引數AI函式命令列
- Rust 問答之如何獲取 main 函式的引數RustAI函式
- C++ 字元處理函式(cctype標頭檔案)C++字元函式
- 關於QT的標頭檔案相互包含的問題QT
- 雖然包含string標頭檔案但未用std::
- C++ 數學函式、標頭檔案及布林型別詳解C++函式型別
- C++ 字串 cctype 標頭檔案標準庫處理函式C++字串函式
- C++標頭檔案<algorithm>中常用函式簡介C++Go函式
- C 語言專案中標頭檔案包含的最佳實踐
- main函式的入口函式AI函式
- 字串 reverse(str.begin(),str.end()) 函式的標頭檔案 以及 str.clear()函式字串函式
- C語言標頭檔案組織與包含原則C語言
- ES6箭頭函式的剩餘引數函式
- 8.13 標頭檔案剖析:標頭檔案路徑(下)
- 函式引數 引數定義函式型別函式型別
- 8.10 標頭檔案剖析:變數宣告變數
- 『無為則無心』Python函式 — 26、Python函式引數的傳遞方式Python函式
- 標頭檔案的作用分析
- 3.3.2 函式的預設引數和佔位引數 函式過載函式
- 函式的引數傳遞函式
- 程式中的函式引數函式
- locate標頭檔案和庫檔案
- linux的命令列解析引數之getopt_long函式使用Linux命令列函式
- Javascript函式引數求值——Thunk函式JavaScript函式
- 函式基礎和函式引數函式
- 基於 LNMP 的 Nginx 百萬併發之路 (二)配置檔案 main 段主引數LNMPNginxAI
- 02@在類的標頭檔案中儘量少引入其他標頭檔案
- 標頭檔案講解
- 祖傳標頭檔案
- 函式的動態引數 及函式巢狀函式巢狀
- js.函式parseQuery用於解析url查詢引數JS函式
- 1.linux的命令列解析引數之getopt_long函式Linux命令列函式