C 基礎知識

2021-08-17 10:11:26 字數 805 閱讀 1742

首先編譯器進行語法分析,把字串分離出來。

然後進行語義分析,把各個由語法分析分析出的語法單元的意義搞清楚。

最後生成的是目標檔案,也稱為 obj 檔案(linux 下為 .out 檔案,windows 下為 .obj 檔案)。

再經過鏈結器的鏈結就可以生成最後的 exe 檔案了。

有些時候需要把多個檔案產生的目標檔案進行鏈結,產生最後的**。這一過程稱為交叉鏈結。

1、<> 這種方式,編譯器查詢的時候,會在編譯器的安裝目錄的標準庫中開始查詢,

2、」」 這種方式,會在當前的工程所在的資料夾開始尋找,也就是源程式所在的資料夾,若沒找到則再查詢標準庫。

標頭檔案對 模組的設計者 a 來說:

要把它的模組的實現細節封裝在實現裡面,並且提供介面給別人呼叫,不是所有的模組的實現細節都放在標頭檔案,而是將最基礎的介面放到標頭檔案。

標頭檔案對 模組的使用者 b 來說:

根據 a **模組的使用定義說明,在沒有**細節的情況下,知道怎麼使用 a 編寫出來的模組

例如用 short(16bit) 來儲存 -4 和 +4 :

1、用最高乙個 bit 表示正、負

2、剩下的 15bit 表示資料

所以,+4 的二進位制表示就是:0 0000000 00000100

對於負數,要將 +4 剩下的 15bit 取反後再加 1:

取反:0000000 00000100 –> 1111111 11111011

加 1:1111111 11111011 + 1 –> 1111111 11111100

所以 -4 的二進位制表示:11111111 11111100

C 基礎知識

抽象類 abstract class 一種不可以被例項化的類。抽象類中一般含有抽象方法,當然也可有具體實現。繼承類只有實現過所有抽象類的抽象方法後才能被例項化。介面 inte ce 只含有共有抽象方法 public abstract method 的類。這些方法必須在子類中被實現。反射 程式集包含模...

c 基礎知識

或運算的意義是什麼 0 0 0 0 1 1 1 0 1 1 1 1 無進製與運算的意義是什麼 在vc中,視窗的每個屬性對應乙個只有一位為1的16位的二進位制數,當增加某屬性做或運算 即可,取消某個屬性只需與 上這個屬性的取反。cs.style ws maximizebox 和cs.style cs....

C 基礎知識

1 malloc和new區別與聯絡 a malloc malloc為函式,需要標頭檔案,申請的無型別,需要強制轉換 free釋放。示例 char p char malloc 10 sizeof char free p b new new是運算子,不需要標頭檔案,申請的是有型別的,自動呼叫建構函式 d...