天天看點

mingw與gdb、gcc與g++

MinGW:Minimalist GNU for Windows,它在Windows平台下模拟了Linux下GCC的開發環境,提供了一套簡單友善的Windows下的基于GCC程式開發環境。

gdb:一個強大的指令行調試工具。

 GCC:GNU Compiler Collection (GUN 編譯器集合),它可以編譯C、C++、Java、Fortran、Pascal、Object-C、Ada等語言。

  • gcc 是GCC中的GUN C Compiler ( C編譯器 )。
  • g++是GCC中的GUN C++ Compiler (C++編譯器)。

        一個有趣的事實就是,就本質而言,gcc和g++并不是編譯器,也不是編譯器的集合,它們隻是一種驅動器,根據參數中要編譯的檔案的類型,調用對應的GUN編譯器而已,比如,用gcc編譯一個c檔案的話,會有以下幾個步驟:

Step1:Call a preprocessor, like cpp.

Step2:Call an actual compiler, like cc or cc1.

Step3:Call an assembler, like as.

Step4:Call a linker, like ld

由于編譯器是可以更換的,是以gcc不僅僅可以編譯C檔案。

是以,更準确的說法是:gcc調用了C compiler,而g++調用了C++ compiler。

  • gcc和g++的主要差別
  1. 對于 *.c和*.cpp檔案,gcc分别當做c和cpp檔案編譯(c和cpp的文法強度是不一樣的);
  2.  對于 *.c和*.cpp檔案,g++則統一當做cpp檔案編譯;
  3.  使用g++編譯檔案時,g++會自動連結标準庫STL,而gcc不會自動連結STL;
  4.  gcc在編譯C檔案時,可使用的預定義宏是比較少的。

原文:http://www.cnblogs.com/wb118115/p/5969775.html

繼續閱讀