想找notepad++執行命令的可以直接跳到最後。
平時用的 ide(整合開發環境)是 dev-cpp,因為只是學習階段,**還上不了千行,個人認為不需要 vs 那種高大全,vc6.0 又有些地方(不只是審美)不順眼。
但最近又發現當把 c++ **檔案複製到 ubuntu 18.04 編譯執行時,漢字部分總會亂碼,因為encoding(字元編碼)的問題,ubuntu的終端只認utf-8,windows只認ansi,ubuntu雖然我能讓vim顯示ansi,卻做不到讓終端顯示,而windows 上的 dev-cpp 不能設定encoding為 utf-8,所以想改用 notepad++ 這個 editor(編輯器)增加 compiler (編譯器)的功能,平時方便改encoding。
步驟預覽
環境變數,在「administrator 的使用者變數」欄找 path 變數並編輯,變數值在原有的基礎上增加一條「c:\mingw\bin;」,該值與每個人把 mingw 安裝的位置有關,因人而異。「;」的意義在於當 path 的值有多項時,用它把這些項分開。
步驟預覽
在 cmd 控制台 cd 到該源**的目錄,然後執行g++ hello.cpp -o hello.exe,然後執行hello.exe /k命令,能正常執行也能說明前兩大步沒問題。
前一條命令是用 g++ 編譯器編譯這個源**並輸出 exe 檔案到這個目錄,後一條是執行 exe 檔案(/k 引數使其執行後停留在程式介面,與之相對的 /c 會使其關閉。即 keep 與 close 的對比)。前面兩條命令其實可以用「&&」合為一條,即g++ hello.cpp -o && hello.exe hello.exe /k。
到這裡已經成功一大半了,因為如你所見,已經可以在 cmd 控制台編譯並執行源**了,而賦予 notepad++ 這個能力,只是讓 notepad++ 一步「對當前開啟的原始檔用 cmd 執行編譯、執行命令」而已。
開啟 notepad++,按 f5 調出「執行」。複製後面說到的命令,執行即可,建議儲存,名稱隨意,筆者這裡自定義了快捷鍵ctrl+f5。
參考了多個關於 notepad++ 執行命令和 cmd 命令的資料,經修改後的命令是
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:暫停,提示「按任意鍵繼續」,配合下一條命令實現「按任意鍵關閉」的效果,兩者都沒有的話程式執行完就會秒關。
舉一反三,參照之前的命令,也能寫出執行python的執行命令,比g++編譯器要簡單:
cmd /k pushd "$(current_directory)
"&&python "
$(name_part)
".py & pause & exit
開發工具使用記錄
反編譯工具 ilspy 開發工具 visual studio 開發幫助 sql prompt resharper 文字工具 sublime 截圖工具 snipaste 介面測試工具 apache jmeter 網路抓包工具 fiddler 瀏覽器cookies修改工具 editthiscookie ...
開發工具的使用1
vim文字編輯器 dd 刪除游標所在行 ndd 刪除游標所在向下n行 d1g刪除游標所在到第一行的資訊 dg刪除游標所在到末行的所有內容 yy 複製游標所在行 nyy複製游標所在向下n行 p 把複製內容貼上到游標的下一行 u撤銷 儲存後,不可撤銷 查詢和替換 底行模式下 字串 是往後找,是往前找 s...
linux後台使用開發工具
linux選型 對於會正式上線的對外機器,一般會安裝服務版linux,這樣的linux作業系統不需要圖形介面,安裝圖形介面也不划算,這也是很多雲伺服器安裝時候選用的作業系統型別。而對於開發者來說,一般會選擇帶有圖形介面的linux伺服器 俗稱桌面版 然後遠端控制編寫 使用svn或者git進行 管理。...