1. 程式人生 > >Windows命令列編譯C++程式

Windows命令列編譯C++程式

命令列編譯程式程式碼,因為編譯效率高、不用去研究開發工具,可以使初學者集中精力在程式碼理解上,因此(命令列+文字編輯器【推薦EditPlus】)非常適合程式設計學習。但往往由於命令列沒有像Visual Studio那麼友好的UI介面,加上需要記憶一堆引數,因而讓很多沒有人指導的新手望而生畏。其實,如果有人稍微指點一下,大家會發現,命令列編譯其實非常之簡單。如果你是新手,想要學習這方面的東西,那麼就看完下面的內容吧。

第一步:安裝編譯環境

下載並安裝Visual Studio,本人安裝的Visual Studio 2012

第二步:設定環境變數

1)右鍵“計算機(我的電腦)”,選擇“屬性->高階系統設定->環境變數”,找到“系統變數”中的“PATH"屬性,雙擊之

2)複製Visual Studio安裝目錄下的路徑“D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin”到環境變數中(PATH中已經有其它變數,則貼上到最後面,並且用英文“;”與前面的變數隔開)

新手指導:所謂環境變數,其實就是指作業系統執行命令時的預設檢索路徑。例如,假設有一個名為a.exe的可執行檔案,存放於D盤的myApp目錄中,不設定環境變數的情況下,你想從命令列啟動a.exe,常規方法有兩個:1、用DOS的cd命令進入到D:\myApp目錄,然後輸入a.exe回車;2、輸入D:\myApp\a.exe然後回車。無論是方法1或者是方法2,要執行a.exe我們都需要先告訴系統a.exe在什麼地方。我們不能直接在命令列輸入a.exe然後回車來執行它,在不確定語境(路徑)的情況下,系統不知道a.exe是什麼東西,因為名為a.exe的檔案可以在不同路徑下存在若干個。作業系統不可能去搜索所有目錄來弄明白a.exe的含義,一方面效能消耗太高,另一方面因為可能存在多個功能不同,僅僅名字相同的a.exe,因此它無法正確判斷使用者究竟想要執行哪個a.exe。直接輸入a.exe然後回車,我們會看到一個錯誤提示——“a.exe不是內部或外部命令,也不是可執行的程式或批處理檔案。”。如果每次執行a.exe都需要人為去告訴系統a.exe的含義(路徑),無疑非常之麻煩,於是就有了系統環境變數這個東西來為我們簡化操作。當我們將D:\myApp寫到系統環境變數中去之後,再次在命令列中輸入a.exe並回車時,作業系統就會自動去搜索環境變數路徑下的名為a.exe的可執行程式來執行。以上就是系統環境變數的用途


第三步:修改命令列啟動引數

1)在“開始->執行”中輸入“cmd”,開始選單中將列出"cmd.exe",右鍵它,然後“傳送到->傳送到桌面快捷方式”

2)右鍵步驟1)中建立的桌面快捷方式,選擇“屬性->快捷方式”,找到“目標(T)”欄,修改目標為“C:\Windows\System32\cmd.exe /k vcvars32.bat”,修改好後點確定

新手指導:快捷方式的目標就是雙擊它時希望開啟的程式的完整路徑。如果足夠細心,你應當會發現,上段文字中的目標路徑後面有一串字元“/k vcvars32.bat”,它是用來告訴作業系統,在開啟cmd.exe時,傳什麼引數給它。本文引數的意思是指,在執行cmd.exe後先執行批處理檔案“vcvars32.bat”,然後等待使用者繼續輸入。要了解一個可執行程式能接收什麼引數和每種引數的意義,你可以用如下方法獲取相關資訊:在“開始->執行” 對話方塊中輸入可執行程式的名字+ “ /?”。例如,我們要查詢cmd.exe可接收什麼引數,可以這樣寫:cmd.exe /? 回車(在命令列中執行程式也可用同樣的方法檢視程式引數)


第四步:編寫test.cpp程式

1)在D盤新建一個資料夾,命名為testCode

2)開啟testCode,在裡面新建一個文字文件,命名為test.cpp(注意,如果你的系統設定中隱藏了已知檔案型別的副檔名,必須顯示它,否則你建立的test.cpp的真實名字將是test.cpp.txt)

3)用記事本或EditPlus開啟test.cpp,在其中寫入如下程式碼並儲存之:

#include <iostream>

int main()
{
	std::cout<<"Hello World!"<<std::endl;
	while(1)
	{
		//ignore
	}
}

第五步:編譯test.cpp

1)雙擊第三步中建立的cmd.exe的桌面快捷方式,開啟命令列視窗

2)輸入:cd d: 回車

3)輸入:cd Ccodes 回車

4)輸入:cl -EHsc test.cpp 回車

編譯器開始編譯test.cpp。我們可以從命令列的輸出內容中看到編譯結果。如果程式沒有書寫錯誤,一定可以編譯出一個test.exe和一個test.obj。其中exe檔案即是編譯後的可執行程式。obj檔案是按塊編譯產生的中間檔案。至此,整個命令列編譯流程結束。要了解更詳細的編譯引數使用,可在命令列輸入 cl /? 檢視,或者找度娘諮詢。

注意:

1)如果你安裝的是Visual Studio 2009之前的版本,則可以省略第三步,不用建立帶執行引數的cmd.exe,設定完編譯器的環境變數後直接在命令列視窗完成後續的編譯即可。只有2009以後的版本,在命令列編譯時才需要先執行“vcvars32.bat”。

2)Visual Studio 2012以前的命令列編譯引數一般用cl -GX xxx.cpp,2012以後建議用cl -EHsc xxx.cpp

相關推薦

Windows命令編譯C++程式

命令列編譯程式程式碼,因為編譯效率高、不用去研究開發工具,可以使初學者集中精力在程式碼理解上,因此(命令列+文字編輯器【推薦EditPlus】)非常適合程式設計學習。但往往由於命令列沒有像Visual Studio那麼友好的UI介面,加上需要記憶一堆引數,因而讓很多沒有人指

linux和windows命令編譯qt程式步驟

注:此方法未經本人證實 1、開啟環境變數設定視窗,編輯 PATH 變數,新增如下內容:     c:/Qt/2010.02.1/bin/;     c:/Qt/2010.02.1/qt/bin/;     c:/Qt/2010.02.1/mingw/bin/  2、開啟環境變數設定視窗,新增環境變數QTDI

命令編譯C++(Linux下、Windows下)

C++ 編譯過程   一般而言,對於 C++ 程式編譯有以下4個階段: 預處理(preprocessing) 對源程式中的偽指令(以#開頭的指令)和特殊符號進行處理。偽指令包括巨集定義、條件編譯指令、標頭檔案包含指令等。 編譯(compilation)

linux(一)——命令建立c程式編譯

gcc表示翻譯官、翻譯組織一、用命令列建c檔案1、vi 檔名.檔案格式   eg: vi a.c 回車//建立c檔案2.儲存退出(ESC,:wq)寫完內容後,按“ESC”,然後“:”,輸入“wq”儲存退出3、開啟檔案(gedit 檔名.檔案格式)gedit a.c  //進入

帶你玩轉Visual Studio——命令編譯C/C++程式

VS構建工具介紹 我們都知道C/C++原始碼要生成可執行的.exe程式,需要經過編譯、連結的過程。你在VS工具中只需要選擇選單Build或按一下F5可以編譯、連結、運行了,其實IDE幫我隱藏了好多的具體細節。 我先假設VS2010安裝在以下目錄中:

Windows 下使用命令編譯C/C++檔案

對於一些比較小的測試程式來說,使用IDE編譯太費時間,這篇部落格簡單介紹一下如何在安裝了Visual Studio系列的Windows上使用原生的編譯工具來編譯C/C++。 Visual Studio自帶的用於編譯C/C++的工具是cl.exe,連結目標檔案使用link.e

Ubuntu命令執行C程式C++程式

首先Ctrl + T 開啟一個終端,cd到你建立C/C++檔案的目錄下。 下面以建立 helloc.c 和 hellocpp.cpp 進行演示 vim helloc.c 按 i 進入插入操作,然後寫C程式碼: #include<stdio.h> int

命令執行C++程式帶來的思考(C++學習筆記 26)

我的電腦是Win10 x64位,裝有編譯程式的軟體有CodeBlocks和Dev-C++。 我想用windows的cmd命令列來帶引數地進行編譯C++程式碼。但是網上說下載MinGw,但這個MinGw是幹什麼用的? 首先了解以下概念: IDE: 整合開發環境(IDE,Integr

Windows命令執行C/C++

時間:2018-11-04 IDE:vs2013 系統:windows8.1 簡介:在命令提示符通過vs2013的c/c++編譯器等執行相應程式 一、配置環境變數 步驟1:C:\Program Files (x86)\Microsoft Visual St

win10 uwp 使用 msbuild 命令編譯 UWP 程式

原文: win10 uwp 使用 msbuild 命令列編譯 UWP 程式 本文告訴大家如何使用 msbuild 命令列編譯一個 UWP 程式 在有一些時候,如使用持續整合的時候就不能通過 VisualStudio 的方式編譯 UWP 程式,需要使用命令列的方式編譯。

用cmd命令編譯JAVA程式時出現“找不到或無法載入主類”

檢查環境變數配置: JAVA_HOME:D:\Java\jdk1.8.0_91 CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(前面有英文點號) Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

命令編譯Java程式

本文介紹如何在windows系統的命令列內編譯執行一個有輸入的簡單Java程式。 示例中,輸入“Alice”,輸出“hi, Alice. How are you?” 1 新建一個文字文件,寫入如下程式碼。在 E:\program\JavaTestCode 位置另存為Hi.java檔案。

Windows命令執行java程式

1;前提以配置好環境了。jdk安裝完畢了。 2;先建立txt檔案,敲好程式碼;在這裡有個注意的地方,要注意你的txt是否顯示出來,如果沒有顯示出來那就是設定隱藏了檔案字尾名一定要顯示出來, 怎麼看是否隱藏字尾名; 敲程式碼; 3;更改檔名,(

命令編譯Qt程式

分為兩大步,首先配置環境變數,其次編譯程式。 1.   配置環境變數 首先要做的就是配置好qt和編譯器的環境變數(本文用的windows平臺下qt5.4.1_msvc2013)。這裡有兩條路,先使用qt的命令列,相當於已經配置好qt的環境變數,然後再配置vc的,或者反過來。

使用cl.exe在windows控制檯下編譯C++程式

工具 cl.exe 是控制 Microsoft C 和 C++ 編譯器與連結器的 32 位工具。編譯器將.cpp編譯,生成中間程式碼目標檔案(.obj)。連結器將目標檔案連結,產生可執行檔案 (.exe) 或動態連結庫檔案 (DLL)。 link.exe 是

C++筆記】Windows通過命令編譯執行c程式 (轉載)

1.準備 一臺具備c開發環境的Windows。 驗證方式,命令列輸入gcc -v,檢視是否輸出版本資訊。 gcc -v 1 2.寫程式 在E盤建一個資料夾C,在裡面建立一個Hello.c檔案,副檔名是c,內容如下: #include <stdio.h>

windows命令編譯和執行c/c++

我看了半天,也沒找到window命令列下編寫程式,說明這個不可取。 那我們只有利用已有檔案來編譯與運行了。 假設我在E盤裡有個.cpp檔案,我改如何編譯和執行她尼? 第一步:我可以直接到該目錄的檔案管理器視窗位址列執行命令:cmd,這樣就可以直接到達所需檔案的目錄。如下圖   &nbs

windows下用gcc命令編譯並執行oc程式

首先,我的GNUstep安裝在D盤的GNUstep資料夾下,oc程式放在E盤的oc資料夾下,這裡以程式WordLength.c為例說明。 編譯oc程式: 開啟dos,然後將路徑定位到E盤的oc路徑下 命令列的寫法:E:         &nbs

c/c++ 程式命令編譯選項

文章出處: blog.csdn.net/con_heart/article/details/52890839 2. 選項 -o 用法:#gcc test.c -o test 作用:將test.c預處理、彙編、編譯並連結形成可執行檔案test。-o選項用來指定輸出檔案的檔

.c/.cpp檔案windows命令編譯,執行.c/.cpp檔案

用virtual studio編譯連結檔案習慣了,今天想在windows命令列下試一下如何進行檔案的編譯執行,起初以為敲幾個命令就螚搞定了,輸入cl命令居然不能執行,提示“cl不是內部命令或者外部命令”,上網查了許久,發現這樣的問題介紹的好少,下面就談談在命令列下如何編譯