博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sublime text3配置C编译环境
阅读量:5038 次
发布时间:2019-06-12

本文共 2559 字,大约阅读时间需要 8 分钟。

导读

本文介绍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\"" } ] }
  • 参考文章:
  • 参考文章:http://zmendax.github.io/2016/03/03/sublimeC/

转载于:https://www.cnblogs.com/xzitluyang/p/7285120.html

你可能感兴趣的文章
C#微信登录-手机网站APP应用
查看>>
HTML5实践 -- iPhone Safari Viewport Scaling Bug
查看>>
一位数据挖掘成功人士 给 数据挖掘在读研究生 的建议
查看>>
Python3.6.0安装
查看>>
hdu1049
查看>>
H5项目常见问题及注意事项
查看>>
索尼(SONY) SVE1512S7C 把WIN8降成WIN7图文教程
查看>>
时间模块 && time datetime
查看>>
jquery自动生成二维码
查看>>
spring回滚数据
查看>>
新浪分享API应用的开发
查看>>
美国专利
查看>>
【JavaScript】Write和Writeln的区别
查看>>
百度编辑器图片在线流量返回url改动
查看>>
我对你的期望有点过了
查看>>
微信小程序wx:key以及wx:key=" *this"详解:
查看>>
下拉框比较符
查看>>
2.2.5 因子的使用
查看>>
css选择器
查看>>
photoplus
查看>>