C語言的程式設計機制

2021-07-06 11:13:02 字數 777 閱讀 6460

標籤:c語言 編譯原理

by 小威威

1) 編輯

編輯是通過編輯器,實現c語言**的編寫,即編輯器提供了編寫c語言**的平台;

2) 預處理

預處理一般有三個作用:巨集定義,檔案包含,條件編譯。

注:i.巨集定義簡單的來說就是」#define …」,就是將程式中的某個常量全部替換成某個資料;

ii.檔案包含簡單的來說就是」#include …」,就是在檔案目錄中找到include後的標頭檔案;

iii.條件編譯指該程式要符合某個條件才執行,否則不執行。

3)載入

載入指通重載入器為可執行檔案提供執行的環境。

c語言程式設計的核心是編譯,鏈結兩個步驟。

1)編譯

編譯一般是指將高階語言轉化為低階語言(其實也有將高階語言轉化為高階語言,後者是作為中間**)。

注:通過編譯,將源**轉化為目標**,即機器語言。但是目標**並不是可執行檔案,它還缺少啟動**與庫**。

2)鏈結

鏈結一般指將目標**與啟動**、庫**連線起來儲存到乙個檔案中形成可執行檔案。

注: i.啟動**:程式與作業系統的介面。有了這個介面,程式就可以在該作業系統執行;

ii.庫**:如printf、scanf等函式的源**。通常我們對這些庫函式進行直接呼叫,然而並沒有定義這些函式。所以通過鏈結,將這些庫函式的源**連線到目標**。

由上面的介紹可知,計算機首先通過編譯器將源**轉化成目標**,然後再通過鏈結器將系統的標準啟動**、庫**和目標**連線起來儲存在同乙個檔案中形成可執行檔案。

c語言的堆疊機制

原文 格式和部分內容稍作修改。在計算機領域,堆疊是乙個不容忽視的概念,我們編寫的c語言程式基本上都要用到。但對於很多的初學著來說,堆疊是乙個很模糊的概念。堆疊 一種資料結構 乙個在程式執行時用於存放的地方,這可能是很多初學者的認識,因為我曾經就是這麼想的和組合語言中的堆疊一詞混為一談。我身邊的一些程...

c語言快取機制

緩衝區又稱為快取,它是記憶體空間的一部分。也就是說,在記憶體空間中預留了一定的儲存空間,這些儲存空間用來緩衝輸入或輸出的資料,這部分預留的空間就叫做緩衝區。緩衝區根據其對應的是輸入裝置還是輸出裝置,分為輸入緩衝區和輸出緩衝區。比如我們從磁碟裡取資訊,我們先把讀出的資料放在緩衝區,計算機再直接從緩衝區...

C語言記憶體機制

最近有參加一些c c 類的面試,感覺筆試的題目大都偏重於考察基本原理,這對我來說是乙個不小的挑戰 平時學習的時候往往忽視了那些基本原理,急於動手去實踐,結果忽視了靈魂性的東西 今後的學習中,禁忌一味動手寫 要結合理論多思考,多問些為什麼,不然就真成為了 民工了,知其然,知其所以然,才能成為大師 關於...