C++语言 如何用G++进行编译和运行程序
在windows下,我們寫C++程序一般會有如下幾個步驟:
- 編寫.cpp文件,代碼都在里面;
- 可能還有一些.h文件之類的支持文件,這些文件一般都會放在一起,或者相對位置是固定的;
- 編譯文件,鏈接文件,生成.exe文件
- 雙擊執行.exe文件(其實開發平臺里的“運行”就是幫你雙擊了一下而已)
在Linux下這些步驟基本都是一樣的,不同的是,Linux最后生成的文件不是.exe,而是.out
?
調用C++編譯器的命令因編譯器和操作系統的不同而不同,常用的編譯器是GNU編譯器和微軟Visual Studio編譯器。調用GNU編譯器的默認命令是g++ ? --《primer》
gcc 是 c 語言的編譯器, g++是C++的。
gcc 和 g++分別是GNU的C和C++的編譯器。一般分成四步:?
1. 預處理,生成.i的文件 [預處理器cpp]
2. 將預處理后的文件不轉換成匯編語言,生成.s文件[編譯器egcs]
3. 有匯編變為目標代碼(機器代碼)生成.o文件[匯編器as]
4. 連接目標代碼,生成可執行程序 [鏈接器]?????????????????????????????
例子??????
編譯
使用編譯器將代碼編譯成二進制目標文件(object file)。
g++ -c file.cpp -o file.o鏈接
將二進制目標文件鏈接起來生成可執行文件
g++ file1.o file2.o -o test.exe執行
執行可執行文件(.exe這個后綴可以不加)
./test.exe直接編譯成可執行文件
g++ program.cpp -o program.exe如果在Unix下可執行文件無后綴,在Windows下生成后綴為.exe的可執行文件。-o 是用來改名的參數,如果不寫-o program,那么在Unix下生成的是a.out而在Windows下生成的是a.exe的可執行文件。(同樣的,運行時.exe可以不加)
參數含義整理
-o:? 修改生成文件的名字,如果不修改的話名字在Unix下面是a.out,Windows下面是a.exe的可執行文件名字,實在有點難聽。用這個參數可以修改默認的名字。
-c:? 不做第四步生成可執行文件,只生成.o的目標文件
?
https://blog.csdn.net/u013793399/article/details/51365311
https://www.cnblogs.com/viggo/articles/11284188.html
總結
以上是生活随笔為你收集整理的C++语言 如何用G++进行编译和运行程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++,string类的指针,strin
- 下一篇: 给不会调用C++STL库中二分函数low