(嵌入式)Windows與Ubantu下的C語言程式的編譯執行
一、Windows下編寫執行程式
我們可以在任意一個編譯器下進行編寫程式和執行(此處使用的是VisualStudio 2019)
1、首先我們需要建立一個C++檔案,隨後輸入以下程式碼
#include<stdio.h>
float x2x(int a, int b);//若子函式在主函式之後,則需要在此宣告子函式;反之則無需宣告
int main() {
int a=0, b=0;
float c=0;
printf("input a: ");
scanf_s("%d",&a);
printf("input b: ");
scanf_s("%d", &b);
c=x2x(a, b);
printf("%d + %d = %0.2f", a, b, c);
return 0;
}
float x2x(int a, int b) {
return a + b;
}
2、F5編譯執行該程式
3、執行結果
二、Ubantu下使用gcc編譯執行程式
1、單個程式編譯執行
1、進入文字編輯器(此處為Vim)
vi Hello.c
2、寫入程式碼
#include<stdio.h>
int main(){
printf("Hello World!!!\n");
return 0;
}
3、使用gcc對該程式進行編輯並執行
gcc Hello.c -o Hello
./Hello
4、執行結果
Hello World!!!
2、多個程式編譯執行
1、同樣使用文字編輯器,分別編寫主函式(main1.c)以及子函式(sub1.c)
vi main1.c
#include<stdio.h>
float x2x(int a,int b);//在主函式中宣告子函式
int main(){
int a=0,b=0;
float c=0;
printf("input a:");
scanf("%d",&a);
printf("input b:");
scanf("%d",&b);
c = sub1(a,b);
printf("%d + %d = %0.2f\n",a,b,c);
return 0;
}
vi sub1.c
float x2x(int a,int b){
return a+b;
}
2、使用gcc編譯連結接著兩個檔案並編譯執行
gcc -o main1 main1.c sub1.c//或者gcc main1.c sub1.c -o main1
./main1
3、執行結果
三、Ubantu下使用Makefile編譯執行程式
如果ubantu下一個可執行檔案所需要的子檔案太多,我們要是使用gcc編譯可能就會非常繁瑣,因此在子檔案太多的情況下,我們可以使用makefile來編譯連結多個程式
Makefile的建立與使用:
1、首先我們需要在目錄下建立一個Makefile / makefile檔案,並進入檔案進行編寫
touch Makefile //touch makefile
vi Makefile //vi makefile
2、編寫以下程式碼
//格式
目標:依賴
<tab>命令
(1)目標即所需要生成的檔案。
(2)依賴為生成目標檔案所需要的其餘檔案(可預設,預設時其對應的命令將強制執行)。
(3)命令則是生成目標檔案所需要的操作
注:命令前必須以tab開頭,不能使用空格
main: main1.o sub1.o//此處main為最終的可執行檔案
gcc -o main main1.o sub1.o
main1.o: main1.c
gcc -c main1.c
sub1.o: sub1.c
gcc -c sub1.c
//clean可以在執行make clean後清除冗餘檔案
clean:
rm -rf *.o main
3、使用make命令編譯,最後執行
make
./main
4、執行結果
相關文章
- C語言的編譯連結執行過程C語言編譯
- 【開發語言】PHP、Java、C語言的編譯執行過程PHPJavaC語言編譯
- Notepad++編譯和執行C語言 (GCC)編譯C語言GC
- Linux下C語言編譯的問題LinuxC語言編譯
- C語言與嵌入式C語言的區別C語言
- 國產系統級程式語言與編譯器,輕鬆與 C 語言進行互動編譯
- 【C語言】linux下多檔案編譯C語言Linux編譯
- C程式從編譯到執行C程式編譯
- 你不知道的C語言–第一篇——編譯和執行C語言編譯
- 08 Windows批處理之執行編譯後的程式Windows編譯
- C語言 - 條件編譯C語言編譯
- 執行緒池的原理與C語言實現執行緒C語言
- 嵌入式c語言編碼規範C語言
- 如何編譯執行HanLP自然語言處理包編譯HanLP自然語言處理
- c語言多檔案編譯C語言編譯
- 解決visual studio2017 C語言程式的建立與執行問題C語言
- 編譯型語言與解釋型語言編譯
- C 語言常用錯誤程式碼釋義大全,讓你編譯執行報錯不是煩惱編譯
- Linuxcentos7/ubantu下:用C語言連線MySQL資料庫LinuxCentOSC語言MySql資料庫
- 通訊錄的c語言程式編輯C語言
- 編譯語言、解釋語言與指令碼語言之間的區別編譯指令碼
- 使用 Sublime Text 3 編譯 C 語言編譯
- 3- C語言編譯過程C語言編譯
- C語言編譯器手機版C語言編譯
- C語言程式碼區錯誤以及編譯過程C語言編譯
- 編譯Android下可執行命令的FFmpeg編譯Android
- 在Ubuntu環境下用gcc命令執行c程式以及Makefile編譯UbuntuGCC程式編譯
- C語言 之 多執行緒程式設計C語言執行緒程式設計
- 編譯warp,d語言寫的c/c++前處理器.編譯C++
- 瞭解JDK、JRE、JVM及Java程式的編譯與執行JDKJVMJava編譯
- 淺談,C語言編譯原理的個人見解C語言編譯原理
- 小C語言--詞法分析程式(編譯原理實驗一)C語言詞法分析編譯原理
- 組合語言-019(彙編程式與c\c++相互呼叫)組合語言C++
- C語言-->(十四)結構體、巨集、編譯C語言結構體編譯
- Android-NDK-11-C語言編譯原理AndroidC語言編譯原理
- 現代編譯原理C語言描述pdf編譯原理C語言
- ubantu可執行程式的組裝行程
- 計算機程式語言的分類,解釋型語言、編譯型語言、指令碼語言的關係計算機編譯指令碼