Sublime text3配置C編譯環境


導讀

本文介紹sublime text3的C開發環境搭建,包括MinGW的安裝,gcc運行C語言,在sublime中運行以及在cmd中運行的方法。另外對於MinGW和gcc,還有sublime的build文件做了簡單介紹。


0x01 關於gcc

安裝編譯器是后續工作的基礎。在windows下使用gcc編譯C語言,通過安裝MinGW實現。

安裝MinGW

MinGW是Minimalist GNU on Windows的首字母縮寫,安裝后就可以使用很多的GNU工具。GNU(GNU’s Not Unix)是linux中的一個著名的項目,包含了gcc\g++\gdb等工具。也就是說,安裝MinGw后,我們就可以使用gcc和g++命令了。

下載地址:https://sourceforge.net/projects/mingw/files/  ,下載一個MinGW安裝器。

選擇這幾個包就夠了,選擇完成后單機installation菜單中的 Apply changes選項同意更改。

然后等待安裝完成,默認安裝路徑是C:\MinGW


配置環境變量

為了方便,一般我們會把gcc所在的路徑加入系統的環境變量,這樣就可以直接使用gcc命令而不用絕對路徑。

右鍵計算機->屬性->高級系統設置->環境變量 把MinGW的bin文件夾路徑加入path中,注意以英文分號;相隔。

mingw-env


gcc命令介紹

編譯C語言:gcc -Wall source.c -o 可執行文件名

加入-Wall選項,打開常用的警告。

0x02 Sublime Text 3默認c/c++編譯系統的不足

編譯系統

把gcc加入環境變量以后,sublime中默認的編譯系統就可以正常使用了。 sublime自帶有默認的C++編譯命令,對於cpp文件可正常編譯運行。

不足之處

  1. 程序輸出捕獲到Sublime窗口中,這樣導致不能運行時輸入信息。執行含有scanf語句的代碼會卡住。
  2. 默認情況下c和c++沒有進行區分,全部當做c++格式來處理了。

解決辦法:

  • 第一個是設置在新的cmd窗口執行程序,這樣就可以輸入信息。
  • 第二個是針對c語言單獨寫一個build配置文件。

0x03 新建C編譯系統

選擇tool –> Build System –> New Build System

然后輸入以下代碼:

{ "working_dir": "$file_path", "cmd": "gcc -Wall \"$file_name\" -o \"$file_base_name\"", "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "selector": "source.c", "variants": [ { "name": "Run", "shell_cmd": "gcc -Wall \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\"" } ] }

保存在Sublime Text 3\Packages\User目錄下,修改名為c.sublime-build。 這時候,可以在Tools -> Build System下看到剛才新建的c了

c-compile1

選中后就可以使用了。

由於默認情況下.c文件sublime識別為c++類型,所以使用自動選擇的時候還需要修改一點:

c-compile2

點擊紅色箭頭處的c++ 選擇Open all with current extension as .. 然后選擇C。這樣以后打開.c文件就默認是c類型。 這時候按Ctrl+Shift+B

c-compile3

  • 第三個c就是對應執行配置文件中的第三行 gcc -Wall $file_name -o $file_base_name 作用是編譯。
  • 第四個c-Run對應后面的命令 gcc -Wall $file -o $file_base_name && start cmd /c \”${file_path}/${file_base_name} & pause\” ,作用是是在新的cmd窗口運行。這樣就可以對scanf等函數進行輸入了。

0x04 中文編碼亂碼的問題

由於Sublime Text 3中文件默認編碼格式是utf-8 ,而windows中的命令行默認編碼格式是GBK 。所以代碼中出現中文時運行會亂碼。

解決思路也很簡單,就是讓他們編碼一致就可以了。

修改源代碼格式為GBK

Sublime原生並不支持GBK編碼,但如果安裝了ConvertToUTF8插件,就可以正確顯示ANSI或者GBK編碼的文件。因此,裝插件后打開GBK編碼的源代碼文件,也不會亂碼。

在編譯命令gcc中加入選項 -fexec-charset=GBK 來說明將代碼中的字符串按照GBK編碼,從而和CMD窗口一致,保證不會亂碼。

修改后的c語言的配置文件如下:

{ "working_dir": "$file_path", "cmd": "gcc -Wall -fexec-charset=GBK \"$file_name\" -o \"$file_base_name\"", "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "selector": "source.c", "variants": [ { "name": "Run", "shell_cmd": "gcc -Wall -fexec-charset=GBK \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\"" } ] }


免責聲明!

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



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