c語言程式環境
程式的編譯環境和執行環境
- 翻譯環境:在這個環境中,原始碼被轉換成可執行的機器指令
- 執行環境:它用於實際執行程式碼
這倆種環境不必在同一臺機器上
翻譯環境:
- 組成一個程式的每一個原始檔通過編譯過程轉換成目的碼
- 每個目標檔案由連結器捆綁在一起,形成一個單一而完整的可執行程式
- 連結器同時也會引入標準c函式庫中任何被該程式所用到的函式,而且它可以搜尋程式設計師個人的程式庫,將其需要的函式也連結到程式中
程式的編譯過程
C語言的程式從原始碼到二進位制程式都經歷了哪些過程?
預處理->編譯->彙編->連結
- 預處理:由.c檔案到.i檔案
- 編譯:由.i檔案到.s檔案
- 彙編:由.s檔案到.o檔案
- 連結:由.o檔案到可執行檔案
一、預處理(.i)
- 處理預處理指令(#include)
- 巨集替換(#define)
- 刪除註釋
二、編譯(.s)
- 語法分析
- 詞法分析
- 語義分析
- 符號彙總
三、彙編(.o)
- 生成符號表
- 彙編指令->二進位制指令
四、連結
- 合併段表
- 符號表的合併和符號表的重定義
執行環境
程式執行的過程:
- 程式必須載入記憶體中(一般由作業系統完成)
- 開始執行,呼叫mian()函式
- 開始執行程式碼。這個時候程式將有一個執行時堆疊(stack),儲存函式的區域性變數和返回地址。同時可以使用靜態記憶體。
- 終止程式,正常終止main(),也可能是意外終止
相關文章
- VScode配置C語言環境VSCodeC語言
- win10怎麼搭建c語言環境_win10如何搭建c語言環境Win10C語言
- go語言環境搭建Go
- 聊聊C語言/C++—程式和程式語言C語言C++
- GO語言————2、GO語言環境安裝Go
- 【R語言入門】R語言環境搭建R語言
- go語言grpc環境搭建GoRPC
- 第1天 C語言Dev-Cpp環境搭建及使用、C語言記憶體四區C語言dev記憶體
- 實驗報告1-熟悉C語言執行環境C語言
- C#以及其他語言環境下的堆和棧C#
- Go語言開發環境搭建Go開發環境
- Go語言VSCode開發環境配置GoVSCode開發環境
- Go語言環境搭建(Windows版本)2020GoWindows
- Golang(go語言)開發環境配置Golang開發環境
- GO語言eclipse開發環境搭建GoEclipse開發環境
- Goland環境配置——Goland上的第一個Go語言程式GoLand
- GO語言學習筆記之mac環境go語言配置Go筆記Mac
- 一些適合初學者的C/C++語言開發環境(IDE)C++開發環境IDE
- Linux下搭建Go語言開發環境LinuxGo開發環境
- Java 語言概述與開發環境(1)Java開發環境
- Java 語言概述與開發環境(2)Java開發環境
- Windows配置R語言、RStudio開發環境WindowsR語言開發環境
- 02-Java語言概述及環境配置Java
- C語言簡單程式碼程式C語言
- C語言:一種高效、易學的程式語言C語言
- c語言程式設計題C語言程式設計
- c語言實用小程式C語言
- C 語言程式構成要素
- C 語言程式碼總結
- 開心檔之Go 語言環境安裝Go
- VsCode搭建C語言執行環境以及終端亂碼問題解決VSCodeC語言
- 那些主流程式語言的知識,C語言(Ⅰ)C語言
- 何為程式語言?為什麼要學C語言?C語言
- 有Go語言實戰培訓班嗎?go語言開發環境搭建Go開發環境
- 在ubuntun虛擬機器裡安裝goLang語言程式設計環境Ubuntu虛擬機Golang程式設計
- 結對程式設計(c語言)程式設計C語言
- Windows 下GO語言開發環境搭建+LiteID配置WindowsGo開發環境
- JetBrains GoLand 2022 GO語言整合開發工具環境AIGoLand