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

  寫此文解決兩個問題:html

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

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

1、MinGW測試

下載地址:https://sourceforge.net/projects/mingw/,點擊」download「後等待幾秒鐘便會彈出下載框。ui

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

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

 

2、配置Sublime Text調試

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

 

2) 在彈出的頁面中複製如下代碼(雙擊代碼區域可全選),"Ctrl+s"保存爲C.sublime-build。htm

部分參數解釋:(本身摸索的,不必定準確,供參考)
${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調試程序。

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

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

* 以上內容爲做者原創,轉載請註明出處。
----------------------------------------------------- 
相關文章
相關標籤/搜索