此處運行環境是在Windos下,運行cmd命令進入DOS界面
現在有一段簡單C++代碼(文件名為 demo.cpp),用於計算a*b的值
#include<iostream> using namespace std; int main(){ int a,b; while(cin>>a>>b){ cout<<a<<"*"<<b<<"="<<a*b<<endl; } return 0; }
demo.cpp文件的位置是在 C:\Users\Administrator\Desktop 目錄下
第一步:在DOS界面進入這個目錄
第二步:用g++ 加上文件名,注意要加上文件擴展名,這樣會生成一個a.exe的可執行文件(Windows默認生成a.exe,Linux默認生成a.out)
因為這里是C++源代碼,所以要用g++命令,如果是C語言的源代碼,則既可使用g++,也可以使用gcc(或者cc)命令。
第三步:直接輸入a.exe並回車, 即可執行由demo.cpp編譯鏈接生成的程序(Linux環境下,則改成 ./a.out 運行程序)
第四步:此時,輸入參數即a與b的值,敲擊回車之后即可出結果
第五步:使用Ctrl+z終止程序
看了上面的過程,可能你會覺得不方便,
1->生成的可執行文件是a.exe而不是希望得到的demo.exe
2->每一次的每一條測試數據都得手動輸入,太過於麻煩
針對問題一:
首先可以將上面的第二步中的g++ demo.cpp添加可選項-o
使用g++ -o demo.exe demo.cpp (或者 g++ -o demo demo.cpp)即可生成demo.exe可運行程序,
如果想命名為test.exe只需g++ -o test demo.cpp (或者 g++ -o test demo.cpp)即可
針對問題二:
運行程序仍可以用demo.exe命令,但是此時還得一條一條的輸入測試數據
但為了方便,可以將測試數據事先保存在文本文件(假設為input.txt)里面,
運行的時候直接往里面讀取數據即可,注意的是input.txt里面的數據格式要按照demo.exe規定的格式
然后將結果寫入另外一個文本文件(假設為output.txt)中,直接查看
使用demo.exe <input.txt> output.txt即可完成以上操作
拓展:
如果你仔細看一下保存源代碼的文件夾,你就會發現,當我們用IDE集成環境一鍵編譯運行的時候,會出現 *.o文件,而此時用命令行編譯運行沒有生成 *.o文件,如果你想要 *.o 文件,那么你就需要在編譯的時候添加一個 -c選項,這樣就會只生成一個 *.o文件, *.o文件可以抽取出來,做成庫文件