設定編譯器(建議學習:notepad使用)
官網下載安裝MinGW
change:
勾選“mingw32-gcc-g -bin”的“mark for installation”,選擇右上角“Installation”的“Apply Changes”即可。另外幾項我沒安裝的時候也沒什麼問題,後來出了點別的問題,求保險才裝的。總共裝了不到 400MB。
編輯環境變數
#控制面板\所有控制面板項目\系統,進階系統設定→環境變量,在“Administrator 的使用者變數”欄位找PATH 變量,無則新建,有則編輯,變數名為“PATH”,變數值在原有的基礎上增加一條“C:\MinGW\bin;",該值與每個人把MinGW 安裝的位置有關,因人而異。 「;」的意義在於當 PATH 的值有多項時,用它把這些項分開。
兩個種方法檢查前兩步驟是否成功
#進入cmd 控制台,輸入gcc -v或g -v查看已加入環境變數中的編譯器版本。顯示黃框中的內容屬於正常,說明前兩步驟成功。建立一個簡單的 C 原始碼文件,要確保程式碼正確能運作。例如Hello.cpp:
//Hello.cpp #include<iostream> using namespace std; int main() { cout<p>在cmd 控制台cd 到該原始碼的目錄,然後執行g Hello.cpp -o Hello.exe,然後執行Hello.exe /k指令,能正常運作也能說明前兩大步沒問題。 <br>前一條指令是用g 編譯器編譯這個原始碼並輸出exe 檔到這個目錄,後一條是執行exe 檔(/k 參數使其運行後停留在程式介面,與之相對的/c 會使其關閉。即keep 與close 的對比)。前面兩個指令其實可以用「&&」合為一條,也就是g Hello.cpp -o && Hello.exe Hello.exe /k。 <br>到這裡已經成功一大半了,因為如你所見,已經可以在cmd 控制台編譯並運行源代碼了,而賦予Notepad 這個能力,只是讓Notepad 一步“對當前打開的源文件用cmd 執行編譯、執行命令」而已。 </p> <p><strong>Notepad 增加執行指令</strong></p> <p>開啟 Notepad ,按 F5 調出「執行」。複製後面說到的命令,運行即可,建議保存,名稱隨意。 </p> <p><img src="https://img.php.cn/upload/image/354/143/781/1566178726956986.png" title="1566178726956986.png" alt="notepad怎麼編譯c"></p> <p>也可以在工具列中找「執行(R)」</p> <p>參考了多個關於Notepad 執行指令和cmd 指令的資料,經過修改後我的命令是</p> <pre class="brush:php;toolbar:false">cmd /k pushd "$(CURRENT_DIRECTORY)" && g++ -o "$(NAME_PART).exe" "$(FULL_CURRENT_PATH)" && "$(NAME_PART)".exe & PAUSE & EXIT
(無分行,是一整條命令),要理解這條命令的話可以將其一分為六,即:
cmd /k:打開cmd 控制台,執行完程式讓其停留而不自動關閉。
pushd "$(CURRENT_DIRECTORY)":將工作路徑更換到原始檔案所在的路徑,例如'pushd E:\kkk'相當於cmd 中先e:再cd kkk,這條指令在原始碼要呼叫同目錄檔案而只寫了相對路徑時尤其重要。因為 Notepad 的預設工作路徑是它自己的安裝路徑。
g -o "$(NAME_PART).exe" "$(FULL_CURRENT_PATH)":呼叫環境變數中的編譯器 g .exe 來將原始程式碼編譯成同名 exe 檔案並輸出到相同路徑。
"$(NAME_PART)".exe:執行原始碼編譯出的執行檔。
PAUSE:暫停,提示“按任意鍵繼續”,配合下一條命令實現“按任意鍵關閉”的效果,兩者都沒有的話程序運行完就會秒關。
EXIT:關閉 cmd 控制台,沒有的話按任一鍵會退到 cmd 指令台,等待輸入下一指令。
$(CURRENT_DIRECTORY)代表檔案所在目錄的路徑。
$(NAME_PART)表示該檔案無後綴部分的檔案名稱。
$(FULL_CURRENT_PATH)代表目前完整的檔案路徑。
雙引號(半角):用來防止目錄或檔案名稱中含空格的情況。
“&&”和“&”:前者表示上一條指令正常執行完再執行下一條指令,非正常則不執行下一條;後者無顧慮。例如一分為六後的後兩個子命令,表示不管原始碼編譯、執行是否成功,都會出現「按任意鍵繼續」字樣,並且按任意鍵後關閉 cmd 控制台。
以上是notepad怎麼編譯c的詳細內容。更多資訊請關注PHP中文網其他相關文章!