Sublime Text:Windows下配置C 編譯環境和GDB調試環境


  寫此文解決兩個問題:

  1.在Sublime Text中實現編譯運行含有外部輸入的C程序(如含有scanf的程序);

  2.在程序運行完畢后不退出cmd,能繼續用gdb調試程序。

一、MinGW

下載地址:https://sourceforge.net/projects/mingw/,點擊”download“后等待幾秒鍾便會彈出下載框。

相關介紹:http://blog.csdn.net/k1988/article/details/4375382(沒找到原作者地址,引用了一篇轉載的)

安裝與配置參考:http://jingyan.baidu.com/article/455a99509c76d8a1662778f6.html

 

二、配置Sublime Text

1) 按下圖添加新的編譯系統

 

2) 在彈出的頁面中復制以下代碼(雙擊代碼區域可全選),"Ctrl+s"保存為C.sublime-build。

部分參數解釋:(自己摸索的,不一定准確,供參考)
${file_path}:文件目錄路徑
${file_base_name}:不包含擴展名部分的文件名(如 test.c 的 file_base_name 為 test )
"selector":"source.c":操作的文件類型為 .c 文件
"encoding":"cp936":支持中文字符集
"cmd","/k":執行完畢后不退出shell (/k 是 cmd 的參數)
"variants":變量,這里定義了"Run"和"RunInCommand"兩個變量
Run:用於無外部輸入(如scanf)的情況
RunInCommand:用於有外部輸入或需要調試的情況,將打開cmd窗口,程序運行完畢后可用命令“gdb xxx.exe”調試程序

{
    "cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}"],
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c",
    "encoding":"cp936",

    "variants":
    [
        {
            "name": "Run",
            "cmd": ["cmd", "/c", "gcc", "${file}", "-o", "${file_path}/${file_base_name}", "&&","${file_path}/${file_base_name}.exe"]
        },
        {
            "name": "RunInCommand",
            "cmd": ["cmd", "/c", "gcc","-g", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/k", "${file_path}/${file_base_name}"]
        }
    ]
}

 3) 按下圖創建快捷命令,Key Bindings不一定在"CTags"中,找到打開即可;

4) 在文件中添加如下內容並保存,具體快捷鍵可自行設置

alt+r:啟用Run編譯運行程序

alt+g:啟用RunInCommand編譯運行程序

[
    {"keys": ["alt+r"], "command": "build", "args": {"variant": "Run"}},
    {"keys": ["alt+g"], "command": "build", "args": {"variant": "RunInCommand"}}
]

5) 完畢。下圖是運行效果。測試文件為一個排序算法sort.c

alt+r,結果將在Sublime中顯示

 alt+g,結果將在cmd窗口中顯示,且執行完畢后不退出窗口,后續可用gdb調試程序。

-----------------------------------------------------

* 本文是根據自身經驗所作,難免存在不合理之處。

* 以上內容為作者原創,轉載請注明出處。
----------------------------------------------------- 


免責聲明!

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



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