gcc基本引數
參考文獻
在windows有很多整合開發環境(vs系列,code::blocks等等)可以用,為什麼要使用gcc在dos下面編譯乙個c程式呢?因為博主最近要看一下uc/os-ii方面的東西,然後教材使用的是:任哲的《嵌入式實時作業系統μcos-ii原理及應用》,在這本書裡面介紹將c語言程式一步步編譯執行的時候使用的是borland c++3.1精簡版,這個編譯器在turbo c的時代是非常受歡迎的,但是在2023年的時候borland公司都已經被micro focus收購了。所以我就想直接用gcc,不用borland c++了。
首先安裝gcc編譯器,這個網上都有教程,如果之前有用過類似code::blocks的整合開發環境的話,gcc編譯器都安裝好了。博主之前是安裝過code::blocks的,所以第一步省了。給個圖
mingw這個目錄就是gcc移植到windows的結果。因為gcc只是個編譯器嘛,如果要在windows這個平台下使用的話肯定是要加點東西的。mingw本身也存在多個分支,可以在windows、linux中編譯能在windows中執行的二進位制**。
記得先給這個bin目錄加個path環境變數
使用gcc可以直接編譯乙個c語言程式,也可以一步步來編譯。如下:
在桌面上建立乙個main.c檔案
# include int main (void)
開啟cmd,進入main.c所在目錄
c:\users\administrator\desktop>
c:\users\administrator\desktop>gcc main.o -o main
c:\users\administrator\desktop>main
hello world!!!
進入main.c檔案所在目錄
預編譯處理,生成main.i檔案:gcc -e main.c -o main.i
編譯處理,生成main.s檔案:gcc -s main.i -o main.s
彙編處理,生成main.o檔案:gcc -c main.i -o main.o
執行main.exe:main
c:\users\administrator\desktop>gcc -e main.c -o main.i
c:\users\administrator\desktop>gcc -s main.i -o main.s
c:\users\administrator\desktop>gcc -c main.i -o main.o
c:\users\administrator\desktop>gcc main.o -o main
c:\users\administrator\desktop>main
hello world!!!
第一步建立檔案
在桌面建立乙個資料夾(main),然後在該資料夾裡面建立6個檔案,分別為pa.c、pa.h、pb.c、pb.h、pc.c、pc.h、test.c。基本思路是在test.c檔案裡面引用pa.c、pb.c、pc.c檔案裡的內容。各個檔案的**如下所示:
// pa.h
# ifndef pa_h
# define pa_h
void a_print();
# endif
// pa.c
# include # include "pa.h"
void a_print()
// pb.h
# ifndef pb_h
# define pb_h
void b_print();
# endif
// pb.c
# include # include "pb.h"
void b_print()
// pc.h
# ifndef pc_h
# define pc_h
void c_print();
# endif
// pc.c
# include # include "pc.h"
void c_print()
// test.c
# include "pa.h"
# include "pb.h"
# include "pc.h"
int main (void)
return 0;
}
編譯檔案
利用上面說過的gcc命令將pa.c、pb.c、pc.c、test.c三個檔案編譯形成.o檔案。形成之後的main目錄如下圖所示
鏈結 & 執行
下面將pa.o、pb.o、pc.o、test.o檔案鏈結生成test.exe
c:\users\administrator\desktop\main>gcc pa.o pb.o pc.o test.o -o test
然後執行,結果和意料之中的一樣。
microsoft visual c++ 和 borland c++ builder 之比較:
gcc編譯c語言程式的執行過程
gcc 編譯詳解
在Windows下使用GCC
如何安裝 mingw gcc 編譯器套件 1 使用圖形化的自動安裝程式 2 使用命令列工具 mingw get 3 手動安裝 binutils mingw runtime dev and dll w32api mpc dev and dll mpfr dev and dll gmp dev and ...
在Windows下使用gcc
最近,想將linux 機 器上的乙個程式拿到windows下用。直接將souwindowsrce codes拷貝到windows下無法用windows的c編譯器編譯,大概是缺少一些庫吧。後來,想到linux下那些檔案是用ccgcc編譯的,因 此,覺得要是有windows版本的或ccgcc編譯器那就很...
windows下gcc的安裝和使用
mingw是指只用自由軟體來生成純粹的win32可執行檔案的編譯環境,它是minimalist gnu on windows的略稱。3.環境變數的配置,以下三個步驟 在 系統屬性 高階 環境變數 系統變數 中 以下目錄都根據自己的電腦mingw所在位置不同而改變,我的電腦是以下這種 第一步 在pat...