在Windows命令行中編譯運行C/C++程序


此處運行環境是在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文件可以抽取出來,做成庫文件 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM