C語言,程式的構成

2021-10-01 20:40:59 字數 663 閱讀 2249

預設環境為linux環境,不考慮多程序環境!

程式的執行過程

c程式的入口函式是main()?

程式的入口函式是main函式,是由裝載器決定的!以 linux elf可執行檔案為例,在編譯程式時,編譯器會為程式鏈結裝載器,程式執行時會首先呼叫裝載器,引導程式到記憶體,隨後呼叫main函式!在嵌入式系統中(無作業系統),入口函式是由引導程式(彙編檔案)決定的,這個彙編檔案實現和linux裝載器類似的功能。例如使用keil 開發stm32程式時,會選擇乙個. s的庫檔案,在這個檔案中,初始化完中斷向量之後會引導執行第乙個c函式——main函式,如果彙編檔案中的函式名不是 main,相應的入口函式也就不是main了。

程式檔案的組成

由於作業系統的存在,不考慮核心占用的記憶體空間,我們可以認為應用程式獨佔所有記憶體空間。在記憶體中,程式可簡要劃分為,**段,資料段,已初始化全域性變數段,未初始化全域性變數段(bss段)。堆和棧處在中間,向相反方向增長。

**段為c程式對應的機器指令,資料段為程式內的資料(常量),已初始化全域性變數為程式內初始化的全域性變數,未初始化全域性變數在記憶體中分配空間,並初始化為零。bss段不占用磁碟空間,只存在描述這些全域性變數的表。執行函式時,區域性變數使用棧空間,自動分配記憶體。malloc函式則使用堆空間的記憶體,需要由程式設計師自己管理,確保記憶體的正確分配與釋放。

分析C語言程式的構成

大型的的c語言程式就像一輛汽車,由各個零件組成,只有零件的完美組成才能使汽車正常行駛,這就需要汽車裝配工十分了解汽車各個零件的功能。編寫c語言程式也一樣,程式設計師就相當於汽車裝配工,需要知道c語言程式的結構 每行 起到的作用,因此,在編寫程式之前需要分析c語言的構成。1.標頭檔案 萬事從 頭 開始...

二 C 程式的基本構成

1 輸入輸出流 1 includec 標準輸入輸出流的庫函式 2 using namespace std 命名空間 3 標準輸入流 cincin標準輸入流代表的是標準的輸入裝置鍵盤。cin a b c 在輸入一組變數的時候可以用空格回車,tab鍵分割。輸入字串的時候,空格代表字串結束 4 標準 輸出...

Python程式的構成

python程式有模組組成。乙個模組對應python原始檔,一般字尾名是.py 模組由語句構成。執行python程式時,按照模組中語句的順序一次執行 語句是python程式的構造單元,用於建立物件 變數賦值 呼叫函式 控制語句等 互動式環境每次只能執行一條語句 為了編寫多條語句實現複雜的邏輯,需要通...