3 第乙個c程式hello.c詳解
4 system庫函式
5 cpu概述
1 編寫原始碼
使用的ide:
1 如何用vs寫原始碼
2 用記事本寫原始碼
2 編譯原始碼
對原始碼進行編譯:
編譯器gcc
配置環境變數 path新增gcc.exe的路徑
完成後gcc -v 檢視是否成功配置
tips:windows視窗清屏命令:cls
編譯源**指令:
gcc hello.c -o生成的目標可執行檔案 ***.exe
3 執行可執行檔案***.exe
windows視窗執行***
前言:上面處理是一步到位:原始檔生成可執行檔案
編譯實際是經過四步的:
gcc -e hello.c -o hello.i 生成預處理檔案
1 預編譯會處理帶#的指令如#include
標頭檔案展開:預處理時將stdio.**件拷貝至預處理檔案中
2 刪除注釋
3 巨集替換:#define 定義乙個巨集 如#define pi 3.14,將檔案中的所有用巨集的地方用表示式替換
4 預處理不會檢查語法錯誤
5 條件編譯處理:根據編譯鍵入條件選擇**進行編譯
如:gcc -e hello.c -o hello.i -dabc
此時**段中
#if abc
printf(
"hello world"
)#endif
的**就會放入到預處理檔案中,
如果鍵入gcc -e hello.c -o hello.i,預處理檔案中就不會有該**段
gcc -s hello.i -o hello.s
將預處理檔案編譯生成彙編檔案
檢查語法錯誤
gcc -c hello.s -o hello.o (c小寫,上面e和s是大寫)
將彙編檔案編譯生成二進位制檔案.o
gcc hello.o -o hello(hello.exe)
設定完執行環境,堆疊等,鏈結其他庫後,此時才可以生成執行檔案,windows執行
//# 預處理指令,在預編譯時處理
//#include 包含stdio.**件 stdio.h類似於選單
//printf函式依賴於stdio.**件裡的函式宣告
// 兩個斜槓是注釋
//符號與()結和代表這個是乙個函式
//main(
) main函式也叫主函式 整個程式中僅且只有乙個main函式,程式從main函式
//開始執行
//int 代表main函式結束之後的返回值型別
//return 結束這個函式,然後返回值,返回值的型別和函式定義時返回值型別一致
//int main(
)和void main(
)在c語言中是一樣的,但c++只接受int main這種定義方式
//裡面的是函式體,所有需要執行的**必須寫在中
//每一條**必須以分號;結尾
//printf是乙個庫函式,printf+()就是函式呼叫
#include
int main(
)
作用: 在程式中啟動另乙個程式
引數:要的是待啟動程式的路徑名
#include
#include
int main(
)
cpu運算,暫存器儲存運算的資料
cpu計算時,預先將需要的資料從硬碟讀到記憶體,再把資料從記憶體讀到暫存器
因此cpu、暫存器、記憶體之間存在資料交換
C語言 編譯環境
在ansi c 的任何一種實現中,存在兩種不同的環境。第一種是翻譯環境,這裡源 被轉換成可執行的機器指令。第二種就是執行環境,它用於實際執行 標準說明,這兩種的環境不必位於同一臺機器上。翻譯 翻譯階段的幾個步驟 1.組成乙個程式的每個原始檔通過編譯過程分別轉換成目標 object code 2.每個...
C語言編譯環境
學習c語言其實已經很久了,大學期間學的是c 但是也基本是按照c的套路來學習的,所以嚴格來講c語言也不能是自學的,而且c 的只是也早就還給老師了,今天要說的不是語言本身,工欲善其事必先利其器,今天要說的是學習語言需要的編譯環境,我上大學的時候用的是vc 6.0,是比較經典的一款ide,但就是因為用了很...
C語言基礎之 C 語言的編譯和執行過程
編譯 生成 檔案 連線 將目標 和c 函式的庫進行連線 生成可執行的二進位制機器 執行 在特定的系統的環境下執行c 語言 n 相當於打了 乙個回車 t 相當於乙個 tab 鍵 void main 防止為 return 0 省略的情況 是 計算機中一塊特定放入記憶體空間 錢包存錢 或者 銀行存錢 in...