任何c語言的編譯過程可分為以下三部分:
在c語言中,以#開頭的語句又叫預編譯指令。預編譯主要做以下兩件事情:
1.將#include包含的標頭檔案做簡單的文字替換;
2.將**中的注釋刪除。
gcc -e 引數代表預編譯。以test.c函式為例,內容如下:
進行預編譯:
如上圖,編譯完成後可生成new.c檔案,開啟new.c
發現之前寫的#include和注釋都不見了,而上面出現了一堆亂七八糟的**。事實上,預編譯做的事情就是將注釋去掉,然後將#include 替換成上面那部分**,而上面那部分**其實就是stdio.**件的內容。
編譯的作用就是把文字的c語言編譯為二進位制的指令。
gcc -c 引數代表編譯。
c語言寫的程式是需要依賴各種庫的,所以編譯之後還需要把庫鏈結到最終的可執行程式當中去。
gcc 沒有單獨的鏈結引數
顯示程式的最終執行結果:hello world
ps: gcc -o 的語法:【gcc 原始檔 -o 編譯後生成的檔名】,o就是output的意思。
21 C語言 位域
如果程式的結構中包含多個開關量,只有 true false 變數,如下 struct status 這種結構需要 8 位元組的記憶體空間,但在實際上,在每個變數中,我們只儲存 0 或 1。在這種情況下,c 語言提供了一種更好的利用記憶體空間的方式。如果您在結構內使用這樣的變數,您可以定義變數的寬度來...
C語言知識彙總 21 C語言的加減乘除及取餘
加減乘除是常見的數 算,c語言當然支援,不過,c語言中的運算符號與數學中的略有不同,請見下表。加法減法 乘法除法 求餘數 取餘 數學 無 c語言 c語言中的加號 減號與數學中的一樣,乘號 除號不同 另外c語言還多了乙個求餘數的運算子,就是 下面的 演示了如何在c語言中進行加減乘除運算 include...
2 1 C語言之位操作符
c語言中,位操作一共有6個位操作符,分別是位與 and 位或 or 位取反 一元運算子 位異或 xor 左移位 右移位 2.1.1位與 1 位與操作符 邏輯與操作符 兩者不同。位與是按位進行與操作,只有0或者1這兩個運算元 邏輯與運算元是只要不是0的,都為1,邏輯與是兩個運算元作為整體來相與的。2 ...