調用C++編譯器的命令因編譯器和操作系統的不同而不同,常用的編譯器是GNU編譯器和微軟Visual Studio編譯器。調用GNU編譯器的默認命令是g++ --《primer》
gcc 和 g++分別是GNU的C和C++的編譯器。一般分成四步:
1. 預處理,生成.i的文件 [預處理器cpp]
2. 將預處理后的文件不轉換成匯編語言,生成.s文件[編譯器egcs]
3. 有匯編變為目標代碼(機器代碼)生成.o文件[匯編器as]
4. 連接目標代碼,生成可執行程序 [鏈接器]
下面給出一些例子,運行環境是win7+Cygwin。
編譯
使用編譯器將代碼編譯成二進制目標文件(object file)。
g++ -c file.cpp -o file.o
鏈接
將二進制目標文件鏈接起來生成可執行文件
g++ file1.o file2.o -o run.exe
執行
執行可執行文件
./run.exe
直接編譯成可執行文件
g++ program.cpp -o program
如果在Unix下可執行文件無后綴,在Windows下生成后綴為.exe的可執行文件。-o 是用來改名的參數,如果不寫-o program,那么在Unix下生成的是a.out而在Windows下生成的是a.exe的可執行文件。
參數含義整理
-o: 修改生成文件的名字,如果不修改的話名字在Unix下面是a.out,Windows下面是a.exe的可執行文件名字,實在有點難聽。用這個參數可以修改默認的名字。
-c: 不做第四步生成可執行文件,只生成.o的目標文件
參考:
http://www.cppblog.com/SEMAN/archive/2005/11/30/1440.html