# C語言教學1/2 - 編譯與執行 ## 撰寫於2018年9月 [現代C語言小心得](https://hackmd.io/s/HJPpJjvw7) >未完成 - 待續 ## C語言的編譯 ### 編譯器 C語言是個編譯的語言,大部分先從原始碼編譯成執行檔後執行。 常用的編譯器有三種 | 名稱 | Column 2 | | -------- | -------- | | GCC | GNU計畫中的編譯器,支援眾多程式語言 | | clang | 蘋果(Apple)開發的C、C++、Objective C編譯器| | MSVC | 微軟(Microsoft)製造的C++編譯器。對C11不支援| 本人大多使用GCC編譯程式。 ### 整合開發環境(IDE) 整合開發環境集方便於一身。 | 名稱 | 預設編譯器 | 特色 | | -------- | -------- | -------- | | Dev-C++ | MinGW(GCC) | 好用,簡單,方便 | | Code::Blocks| MinGW(GCC) |介面美觀| | Visual Studio| MSVC|微軟製造,不支援C11| 整合開發環境是選用的,像我就直接利用文字編輯器撰寫程式。 ## 編譯 ### 使用GCC (GNU C Compiler) 最簡單的編譯 ``` gcc abc.c -o abc ``` 開啟所有警告(-Wall) ``` gcc abc.c -o abc -Wall ``` 使用最佳化(-O0 -O1 -O2 -O3 -Os) ``` gcc -O2 abc.c -o abc ```