一、GCC編譯
警告提示功能
代碼優化功能
調試功能
gcc和g++的區別
先說一下相關概念:GCC : GNU Compiler Collection(GUN 編譯器集合),它可以編譯C、C++、JAV、Fortran、Pascal、Object-C、Ada等語言。
gcc是GCC中的GUN C Compiler(C 編譯器)
g++是GCC中的GUN C++ Compiler(C++編譯器)
主要區別:
-
對於 .c和.cpp文件,gcc分別當做c和cpp文件編譯(c和cpp的語法強度是不一樣的);
-
對於 .c和.cpp文件,g++則統一當做cpp文件編譯;
-
使用g++編譯文件時,g++會自動鏈接標準庫STL,而gcc不會自動鏈接STL;
-
gcc在編譯C文件時,可使用的預定義宏是比較少的;
-
gcc在編譯cpp文件時/g++在編譯c文件和cpp文件時(這時候gcc和g++調用的都是cpp文件的編譯器),會加入一些額外的宏,這些宏如下:
#define GXX_WEAK 1
#define __cplusplus 1
#define __DEPRECATED 1
#define GNUG 4
#define __EXCEPTIONS 1
#define private_extern extern -
在用gcc編譯c++文件時,爲了能夠使用STL,需要加參數 –lstdc++ ,但這並不代表 gcc –lstdc++ 和 g++等價,它們的區別不僅僅是這個;
二、GDB調試器
GDB簡介
GDB常用命令
GDB調試初步
GDB詳細使用
break命令用法
查看運行時的數據
查看源程序
改變程序的執行