專案內容
這個作業屬於哪個課程
這個作業的要求在**
學號-姓名
17043130-張智勇
作業學習目標
1. linux系統下c語言開發環境搭建學習2.linux系統環境c語言開發過程
1.安裝c語言開發環境
a)安裝開發環境
sudo apt install build-essentialb)檢視gcc的版本
gcc -vc)檢視make版本資訊
make -v2.簡單c語言練習
1)通過man命令檢視幫助文件
2)命令列模式簡單c語言編譯鏈結等操作
先建立乙個新檔案,在該檔案內用vim編輯器編寫乙個輸出自己學號的c語言程式。
輸入源程式後,進入c語言程式編譯的四個階段,預編譯,編譯,彙編,鏈結
a) 預編譯
用vim開啟test.i檔案來檢視檔案內容
b)編譯
用vim開啟test.s檔案來檢視內容,也可以用命令,如cat。因為預編譯和編譯得到的檔案都是文字檔案,所以我們可以用vim開啟檢視檔案內容。
c) 彙編
這裡生成的不是文字檔案了,是二進位制檔案,我們可以通過objdump命令來反彙編該檔案來分析檔案內容。
d)鏈結
可執行檔案是二進位制檔案,同樣需要用objdump命令來反彙編該檔案分析檔案內容
objdump -d test這裡反彙編輸出內容較多,我只截圖main函式部分,大家可以與test.o反彙編的內容進行對比分析
e)執行
3)多檔案編譯
在exp4資料夾下面再建乙個資料夾mfc(multi-files compile)
在該資料夾下面建立5個檔案,檔名分別如下:
每個檔案的內容分別如下:
完成上面的**輸入,接下來進行編譯,對於多檔案編譯,可以一次編譯鏈結生成可執行檔案,也可以分別編譯每個c檔案,最後再進行鏈結得到可執行檔案。
請說明兩種方法的區別?
答:一次性的編譯鏈結可以直接生成可執行檔案。而分開編譯,再鏈結,中間會生成乙個目標檔案。
接下來編寫乙個簡單的makefile,通過make工具幫助我們進行編譯。在當前資料夾編寫乙個 makefile檔案
注意這裡每個gcc以及最後的rm前面都是有乙個tab
現在可以直接在終端輸入make就可以進行編譯鏈結操作
實驗四 Linux系統搭建C語言程式設計環境
專案 內容 這個作業屬於哪個課程 這個作業的要求在 學號 姓名 17041425 張少豪 作業學習目標 1.了解linux系統c語言程式設計環境 2.學習linux環境c語言開發步驟 1.2檢視gcc的版本資訊 1.3檢視make版本資訊 2.1首先我們通過man命令檢視幫助文件 2.2命令列模式簡...
實驗四 Linux系統搭建c語言程式設計環境
專案內容 作業歸屬 作業要求 學號 姓名 17041419 劉金林 作業學習目標 linux系統下c語言開發環境搭建 學習linux系統環境c語言開發過程 sudo apt install build essential1 檢視gcc版本資訊 2 檢視make版本資訊 我們可以通過vim編輯器編寫乙...
實驗四 Linux系統搭建C語言程式設計環境
專案內容 這個作業屬於哪個課程 這個作業的要求在 學號 姓名 17041514 樂馳 作業學習目標 1 了解linux系統c語言程式設計環境 2 學習linux環境c語言開發步驟 檢視gcc的版本資訊 檢視make版本資訊 2.簡單c語言練習 1 首先我們通過man命令檢視幫助文件 如果我們不清楚一...