基于Ubuntu的C語言編譯以及Makefile方式編譯
- 準備作業
- 安裝gcc
- gcc編譯
- 撰寫一個主程式檔案main1.c和子程式檔案sub1.c
- 新建檔案main1.c
- 新建檔案sub1.c
- 用gcc編譯檔案
- 運行代碼
- makefile編程
- 新建檔案makefile
- 編譯makefile
- 運行代碼
- windows系統下編譯上述程式
準備作業
下載并安裝好Ubuntu64位,并打開終端,
安裝gcc
gcc一般是在安裝完Ubuntu時默認自帶安裝在里面的,不需要重復安裝
檢查是否安裝了gcc
輸入命令:
gcc --version
即可檢查是否安裝了gcc
如果顯示未安裝
1.安裝gcc
輸入命令:
sudo apt install gcc
等待安裝gcc完成
2.安裝build-essential
與gcc同步使用需安裝build-essential軟體包來提供編譯必要的軟體包
輸入命令:
sudo apt install build-essential
等待安裝完成
到此準備作業已經完成
gcc編譯
撰寫一個主程式檔案main1.c和子程式檔案sub1.c
新建檔案main1.c
輸入命令:
touch main1.c
即可創建一個名為main1.c的檔案
輸入命令:
vim main1.c
即可打開檔案編輯
按I開始在游標處插入
輸入代碼:
#include<stdio.h>
int main()
{
float c;
c=x2x(100,2);
printf("%f",c);
printf("\n");
return 0;
}
按ESC回到命令模式
輸入:wq退出vim編輯器并保存
新建檔案sub1.c
輸入命令:
touch sub1.c
即可創建一個名為sub1.c的檔案
輸入命令:
vim sub1.c
即可打開檔案編輯
按I開始在游標處插入
輸入代碼:
float x2x(int a,int b)
{
float c;
c=a-b;
return c;
}
按ESC回到命令模式
輸入:wq退出vim編輯器并保存
用gcc編譯檔案
輸入命令:
gcc main1.c sub1.c
即可編譯并生成一個可執行檔案a.out

這里有一個警告是因為在主程式中沒有x2x這個函式
只需要在main函式前宣告一下
main1.c檔案代碼更改如下:
int x2x(int a,int b);
int main()
{
float c;
c=x2x(100,2);
printf("%f",c);
printf("\n");
return 0;
}
此時再編譯沒有警告
運行代碼
輸入命令:
./a.out
即可運行代碼
結果如下

makefile編程
在撰寫好main1.c和sub1.c之后
新建檔案makefile
輸入命令:
touch makefile
即可創建一個名為makefile的檔案
輸入命令:
vim makefile
即可打開檔案編輯
按I開始在游標處插入
輸入代碼:
main1:main1.o sub1.o
gcc -o main main1.o sub1.o
main1.o:main1.c
gcc -c main1.c
sub1.o:sub1.c
gcc -c sub1.c
按ESC回到命令模式
輸入:wq退出vim編輯器并保存
編譯makefile
輸入命令:
make
生成檔案main
運行代碼
輸入命令:
./main
即可運行代碼
結果如下

windows系統下編譯上述程式
軟體:Microsoft Visual Studio Enterprise 2017
代碼同上
編譯并運行
結果如下

至此我們完成了在ubuntu下使用gcc編譯和用makefile方式編譯以及在Windows環境下編譯并最終成功運行程式
- 完成任務
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/131707.html
標籤:其他
上一篇:求助基于STM32F103單片機的臺燈源程式及接線原理圖
下一篇:近日所想
