Notepad++編譯和執行C語言 (GCC)

理工紫發表於2019-02-08

我們在學習C語言的時候,實際上只需要編譯器和編輯器就能開搞了。(初學者過早接觸IDE不利於理解程式構建的過程)

在看這篇文章的時候,假設你已經知道如何把GCC配置到環境變數,並且會在命令列/終端下使用gcc 編譯C程式碼檔案 並執行了。

關於notepad++

notepad++是款windows下優秀的編輯器。在windows環境下,裝了notepad++和gcc就能愉快地開始C語言學習之旅了。

這裡當然再廢話一下,系統自帶的notepad記事本當然也可以寫C語言,不過因為記事本不帶語法高亮以及行號顯示,寫個hello word自然是沒有問題,但是等以後稍微寫長一點的程式碼就會顯得有些太不方便了。

 

我們還是說notepad++ 和gcc的環境下,我們寫好了一個C語言程式碼,如下圖:

寫完程式碼以後,我們直接手動在windows命令提示符介面手動輸入gcc命令編譯自然是最原始的做法。等初學者這樣手動編譯了大約64個C語言檔案以後,大概已經開始覺得每次都要gcc -o hello hello.c 未免有些無聊了。

程式設計師以重複勞動為恥。

所以我們繼續,按照上圖的選單配置,我們開啟選單中的 執行,然後再彈出的視窗中,輸入執行程式名,我們輸入以下命令

 

cmd /k gcc "$(FULL_CURRENT_PATH)" -o "$(CURRENT_DIRECTORY)\$(NAME_PART).exe" &PAUSE &"$(CURRENT_DIRECTORY)\$(NAME_PART).exe" & PAUSE & EXIT

 

然後點選儲存,再彈出的快捷鍵設定視窗中填寫一個名稱“GCC編譯執行”,快捷鍵我選了F9

然後我們點執行,就會自動執行輸入的那一段命令,簡單說明一下命令的內容:

 

$(FULL_CURRENT_PATH) 是notepad++的自己的環境變數,表示當前編輯檔案的完整路徑。
$(CURRENT_DIRECTORY) 表示當前目錄
$(NAME_PART) 表示當前編輯檔案的名稱,不含字尾
PAUSE 是cmd下等待任意鍵的提示
這命令的意思就是編譯當前檔案,輸出並執行。
執行結果如下圖:

結果出現了中文亂碼。這時候我們需要設定一下字元編碼轉換,如下圖:

選擇 | 編碼 | 轉為 ANSI編碼,此時右下角UTF-8會變成ANSI,然後我們儲存,再按F9一鍵編譯執行。

如下圖

中文順利地輸出了。

然後你就以為大功告成了?把notepad++關了再開啟看看。

什麼鬼!我們美麗的漢字怎麼變成這個樣子了。右下角字元被自動變成 ISO 8859-7了。經過你一番努力嘗試,在編碼選單中每個編碼都試一下你還是沒辦法讓美麗的漢字顯示出來。

不要著急,我們用記事本開啟這個檔案中文還是可以正常顯示的。

什麼,你問我這個有什麼解決方案?

我告訴你……要不我們們學習C語言的時候就不要printf 輸出中文了,還是寫英文吧,這樣不用切換輸入法也挺好是吧。我們寫中文的註釋是完全可以的,這樣在notepad++的UTF-8編碼的環境下關閉再開啟是沒問題的。

所以就是說無解咯。

如果你是notepad++編碼方面的老司機有解決方案歡迎留言。


 

相關文章