一個C語言程式的編譯過程
這是一個再簡單不過的C語言程式:
#include <stdio.h>
int main()
{
printf("hello world!\n");
return 0;
}
執行gcc test.c,就使一個原始檔變成了可執行檔案,這個步驟我們很熟悉,但是從一個原始檔(.c檔案)到可執行程式到底經歷了哪幾步,每一步具體做了什麼,這是我想要總結一下的:
一:預處理
使用-E選項:gcc -o test.i -E test.c
預處理階段主要做了處理“#”的過程:有標頭檔案展開,巨集替換,條件編譯,去掉註釋等。
二:編譯
使用-S選項:gcc -o test.s -S test.c
編譯階段將高階語言翻譯成機器語言,生成對應的彙編程式碼。
三:彙編
使用-c選項:gcc -o test.o -c test.c
彙編階段主要將原始檔翻譯成二進位制檔案。
四:連結
連結過程主要將翻譯成的二進位制檔案與需要用到的庫連結。
gcc的這三個選項不太好記,我有一個竅門,就是ESc,剛好就是鍵盤上的esc鍵,這樣就很快記住了,而三個選項對應的命名風格,為iso。
相關推薦
一個C語言程式的編譯過程
這是一個再簡單不過的C語言程式: #include <stdio.h> int main() { printf("hello world!\n"); return 0; } 執行gcc test.c,就使一個原始檔變成了可
《linux核心分析》作業一:反彙編一個C語言程式並分析彙編程式碼執行過程
楊新峰原創作品轉載請註明出處 《Linux核心分析》 MOOC課程http://mooc.study.163.com/course/USTC-1000029000 實驗環境:實驗樓網站64位linux虛擬機器 原始碼如下: int g(int x){ re
C語言入門 2 安裝VS2013開發環境並編寫第一個C語言程式
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
C語言入門 2 安裝VS2013開發環境並編寫第一個C語言程式
在C語言入門系列中,我們使用Visual studio 2013 Professional作為開發工具。本篇詳細介紹如何安裝Visualstudio 2013 Professional並寫出我們第一個C程式。1、工具準備開發機環境:Win7或以上版本作業系統,Internet
ubuntu下編寫並執行第一個c語言程式
對於初入Ubantu系統的小夥伴來說,進入Ubuntu最想做的事莫過於在終端(Terminal)裡執行自己的第一個C/C++程式"hello.c/hello.cpp"了。 Ubuntu預設是不包含編輯器vim和編譯器gcc。如果你是剛安裝好的Ubuntu電腦,下面我們將
講解第一個 C 語言程式”HelloWorld”:
這是我學的第一個C語言程式:Hello World!如此簡單精煉的一個程式,其實分開來看都不簡單。#include<stdio.h> int main() { printf("Hello World!\n"); return 0; }現在來分部瞭解一下
【C語言簡單說】二:第一個C語言程式詳解(1)
如有錯誤請給與糾正… 上一個教程只說明瞭第一個C語言程式原始碼中的: printf("Hello Wrold!"); 這行程式碼的含義,現在我們來說說全部程式碼;當然為了各位的方便,我就把那個程式
在Ubuntu上執行我的第一個C語言程式。
Ubuntu有自帶的C編譯器gcc,無需我們安裝,直接編輯原始碼然後編譯執行即可。 第一個C程式用Ubuntu自帶的gedit文字編輯器來編寫: 1、右鍵點選桌面然後點選Open Terminal,開啟終端。 2、通過gedit建立檔案hellowo
C語言發展史,第一個C語言程式,多語言對比
第一個C語言程式 C語言介紹 1.什麼是C語言? C語言屬於一門高階語言 既然是語言就是用來溝通的, 例如中國人與中國人溝通用漢語, 美國人和美國人溝通用英語 iOS程式的主要開發語言就是C語言
Ubuntu上的第一個C語言程式
編寫環境:Ubuntu12.041.首先按下組合鍵Ctrl+Alt+t開啟調出命令列介面2.我們需要在當前目錄下建立一個main.c檔案,通過命令touch main.c就可以直接建立該檔案,要檢視建立是否成功,我們直接通過命令ls檢視即可。3.開啟Ubuntu自帶的文字編輯
編寫你的第一個C語言程式
如果用C語言輸出:Hello,world!,該如何編寫程式? **程式碼如下:** #include<studio.h> //包含標準庫的資訊 main()
如何用VC6.0寫第一個C語言程式
首先我們開啟我們安裝好的VC6.0. 選擇”檔案—->新建”. 在新建視窗中,選擇“專案”中的“WIN32 Console Application(控制檯應用程式)”,在“工程名稱”
C語言程式設計入門之--第三章編寫第一個C語言程式
導讀:一般學一門計算機語言的第一堂上機課(“上機”顧名思義,上計算機,機你太美),就是往螢幕輸出“hello world”,本章也不例外。 1.1 Hello,World! 這一節和讀者一起來編寫第一段C語言程式,過程
C語言程式的編譯、連結具體過程及Linux環境下的具體例項
我們知道一個C語言程式從編寫完成到生成可執行檔案分為預處理、編譯、彙編、連結,最後再生成可執行檔案。 預處理階段 前處理器主要做四部分工作,分別是:標頭檔案展開、巨集替換、去註釋以及條件編譯。 (1)標頭檔案展開就是編譯器會根據字元#開頭的命令去讀取相
下載安裝MinGW配置C語言的編譯環境並寫一個簡單的C語言程式HelloWorld
一、下載安裝MinGW1、MinGW簡介 MinGW即Minimalist GNU for Windows,是一個簡單Windows本地應用的開發環境。MinGW包含有一組GNU編譯器的集合(包含有C,C++,ADA和Fortran的編譯器)以及Windows下
窺探C語言程式的編譯、連結
窺探C語言程式的編譯、連結 C語言程式從原始檔到生成可執行程式需要經過編譯器的預處理,彙編、編譯、連結。這裡簡化為編譯、連結兩個階段 編譯:對原始檔語法做檢查 連結:會查詢函式的具體實現並把專案中所有相關的.o目標檔案、C語言函式庫合併在一起生成可執行檔案 我來編寫一個main.c 對main.c
第一個linux下的c語言程式
當然是列印hello world啦。 1.vim helloworld.c如下: #include <stdio.h> int main() { char *c; c = "hello world!"; printf("%s\n",c
一個C語言外掛程式
首先建立一個控制檯應用程式 引入Windows.h庫函式 MessageBoxA(控制代碼--通常是0,提示框內容,提示框標題,按鈕) #include <Windows.h> int main() { MessageBoxA(0, "喜歡陳培昌", "我想說",
C/C++程式編譯過程詳解
C語言的編譯連結過程要把我們編寫的一個c程式(原始碼)轉換成可以在硬體上執行的程式(可執行程式碼),需要進行編譯和連結。編譯就是把文字形式原始碼翻譯為機器語言形式的目標檔案的過程。連結是把目標檔案、作業系統的啟動程式碼和用到的庫檔案進行組織,形成最終生成可執行程式碼的過程。過程圖解如下: 從圖上可以看到,
LInux下C語言原始碼編譯的過程
原始碼編譯的過程:原始碼–>預處理–>編譯–>彙編–>連結–>執行 大致可分為三步:./configure—>make—>make install 總的來說:make就做了編譯彙編的工作,他是根據makefil