sublimetext3配置cc编译环境.docx_第1页
sublimetext3配置cc编译环境.docx_第2页
sublimetext3配置cc编译环境.docx_第3页
sublimetext3配置cc编译环境.docx_第4页
sublimetext3配置cc编译环境.docx_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

sublime text 3配置c/c+编译环境/sublime_text_3_gcc.html最近更新:2016年1月31日 分类:环境配置byyalewoo 34 评论 15,135 views本文介绍sublime text 3的c/c+开发环境搭建,包括MinGW的安装,gcc运行c语言,g+运行c+语言,在sublime中运行以及在cmd中运行的方法。另外对于MinGW和gcc,还有sublime的build文件做了简单介绍。sublime text 3提供了构建功能,它的构建系统(Build systems)可以运行一段外部命令,还可以捕获输出并显示。要在sublime text 3中实现c或c+代码的编译和运行,在本质上说也是调用外部的命令,windows中也可以理解为执行一段cmd命令。目前c/c+编译器最流行的就是gcc和g+,本文将先介绍gcc和g+的基本命令格式,然后介绍win7 64bit下 Sublime Text 3 build 3083版本中build配置文件的编写。关于gcc和g+安装编译器是后面所有工作的基础,如果没有编译器,后面的一切都无从谈起。在windows下使用gcc和g+,是通过安装MinGW实现的。安装MinGWMinGW是Minimalist GNU on Windows的首字母缩写,安装后就可以使用很多的GNU工具。GNU(GNUs Not Unix)是linux中的一个著名的项目,包含了gccg+gdb等工具。也就是说,安装MinGw后,我们就可以使用gcc和g+命令了。MinGW的官网是/,但是从官网安装很麻烦,在线安装经常龟速容易失败。雅乐网推荐的方法是借助codeblocks,选择带有mingw的版本安装,安装后把mingw文件夹复制出来就可以了。这里提供了解压版的MinGW,是使用 codeblocks-13.12mingw-setup 安装后复制出来的:/s/1gd5YzVP解压后,可以在 MinGW/bin 目录下找到我们需要的gcc.exe和g+.exe 。我这里把MinGW文件夹放到c盘根目录在cmd中使用gcc假设我们有一个test.c文件在Z盘的work目录下。首先我们要在cmd中进入此目录。方法可以是在work目录空白处按住Shift点击鼠标右键,选择“在此处打开命令窗口”;也可以使用cd命令进入。gcc的一般格式是1gcc 源文件名 -o 可执行文件名但是我们输入命令1gcc test.c -o test执行后却提示gcc 不是内部或外部命令,也不是可运行的程序或批处理文件。这是因为命令执行时,会在当前目录下查找名为gcc的可执行文件,如果查不到就在系统环境变量path记录的路径里寻找gcc可执行文件。但是目前这两个地方都没有。我们的gcc文件所在的目录是c盘下的MinGW/bin。这时可以使用绝对路径来调用gcc可执行文件1234Z:workc:/MinGW/bin/gcc test.c -o testZ:worktest.exehello world这样就成功编译生成了可执行文件test.exe,然后就可以在cmd里运行了。配置环境变量为了方便,一般我们会把gcc所在的路径加入系统的环境变量,这样就可以直接使用gcc命令而不用绝对路径。右键计算机-属性-高级系统设置-环境变量在path的值中,可以发现有一些目录,他们之间用英文的分号分隔。我们双击path,把我们gcc的路径 C:MinGWbin 添加进去。 要注意前后的英文分号。确定以后 就可以在任意目录下直接使用gcc命令了。可以在任意目录打开cmd窗口,输入gcc查看环境变量是否设置成功。如果仍然提示不是内部或外部命令,说明环境变量设置失败。注意:在sublime text 3 build 3083中,环境变量的修改不会立即在sublime中生效,需要重启windows。cmd编译运行c语言总结一下流程:首先我们要在cmd中进入.c文件所在的目录作为工作目录然后执行gcc source.c -o dest来生成可执行文件最后输入生成的可执行文件名来运行生成的程序。建议大家加入-Wall选项,打开常用的警告。下面是几种常用的命令:编译c语言1gcc -Wall 源文件名 -o 可执行文件名编译c+语言1g+ -Wall 源文件名 -o 可执行文件名Sublime Text 3默认c/c+编译系统的不足编译系统把g+加入环境变量后,sublime中默认的编译系统就可以正常使用了。我们在Sublime Text 3中打开一个cpp文件,按Ctrl+B这是sublime自带的默认c+编译命令。第一个是编译,第二个是运行。这时候是可以正常使用的。(环境变量配置后需重启windows)Sublime Text 3 3080版本之后修改了编译系统,具体设置是Ctrl+B 执行改格式上次的编译命令。如果第一次执行则提示选择执行哪个Ctrl+Shift+B 选择执行哪个不足之处:1. 程序输出捕获到Sublime窗口中,这样导致不能运行时输入信息。执行含有scanf语句的代码会卡住。2. 默认情况下c和c+没有进行区分,全部当做c+格式来处理了。解决办法第一个是设置在新的cmd窗口执行程序,这样就可以输入信息。第二个是针对c语言单独写一个build配置文件。默认的编译配置文件在哪在Sublime的安装目录的Packages文件夹中,有个文件叫C+.sublime-package这个实际上是zip的压缩包包含了c+的默认系统设置,修改后缀名为zip后解压,可以在里面找到C+ Single File.sublime-build文件,内容如下:1234567891011121314shell_cmd: g+ $file -o $file_path/$file_base_name,file_regex: (.:*):(0-9+):?(0-9+)?:? (.*)$,working_dir: $file_path,selector: source.c, source.c+,variants:name: Run,shell_cmd: g+ $file -o $file_path/$file_base_name & $file_path/$file_base_name这是JSON格式的配置文件,可以看到 selector部分确实是c和c+都选择的。我们只要略作修改,就可以实现我们的需要了。但是这是系统的配置,并不建议修改。建议大家把用户配置放到用户文件夹下,来代替默认的编译配置。新建编译系统c语言选择tool Build System New Build System然后输入以下代码1234567891011121314working_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按Ctrl+s保存,会自动打开user目录(Sublime Text 3PackagesUser),我们修改 文件名为c.sublime-build,保存在此目录。这时候,可以在Tools - Build System下看到刚才新建的c了选中后就可以使用了。Build System中除了选择具体的编译系统,还可以选择第一个:Automatic 自动选择,会根据打开的文件后缀自动选择。由于默认情况下.c文件sublime识别为c+类型,所以使用自动选择的时候还需要修改一点:先用sublime打开.c文件的时候 默认是c+格式点击红色箭头处的c+ 选择Open all with current extension as . 然后选择C这样以后打开.c文件就默认是c类型这时候按Ctrl+Shift+B第三个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等函数进行输入了。c+gcc虽然可以编译c+代码,但是不能进行c+的连接函数库操作。所以针对c+代码一般使用g+来编译。方法和上面的c语言的配置一样,只要把配置文件中的gcc改为g+ ,source.c改为source.c+ ,保存文件名c.sublime-build改为c+.sublime-build就可以了。这里增加了-std=c+11 选项,是按照C+11标准进行编译,不需要的话可以去掉,配置文件如下:123456789101112131415encoding: utf-8,working_dir: $file_path,shell_cmd: g+ -Wall -std=c+11 $file_name -o $file_base_name,file_regex: (.:*):(0-9+):?(0-9+)?:? (.*)$,selector: source.c+, variants: name: Run,shell_cmd: g+ -Wall -std=c+11 $file -o $file_base_name & start cmd /c $file_path/$file_base_name & pause这个配置文件编译的时候也会运行 g+ -Wall -std=c+0x $file_name -o $file_base_name & cmd /c $file_path/$file_base_name ,如果只想编译,可以把&后面去掉就可以了。实际上,我们可以利用Varians ,来配置多个不同的编译命令。例如下面的配置文件有编译 ,捕获输出运行,cmd运行三种12345678910111213141516171819encoding: utf-8,working_dir: $file_path,shell_cmd: g+ -Wall -std=c+11 $file_name -o $file_base_name,file_regex: (.:*):(0-9+):?(0-9+)?:? (.*)$,selector: source.c+, variants: name: Run in sublime,shell_cmd: g+ -Wall -std=c+11 $file_name -o $file_base_name & cmd /c $file_path/$file_base_name,name: CMD Run,shell_cmd: g+ -Wall -std=c+11 $file -o $file_base_name & start cmd /c $file_path/$file_base_name & pause中文编码乱码的问题感谢RGB0x000000同学指出关于中文编码的问题。由于Sublime Text 3中文件默认编码格式是utf-8 ,而windows中的命令行默认编码格式是GBK 。所以代码中出现中文时运行会乱码。解决思路也很简单,就是让他们编码一致就可以了。1. 修改cmd编码为utf-8使用chcp命令可以查看当前字符集,默认是936 ,可以使用chcp 65001修改字符集为utf-8然而似乎只对当前打开的窗口有效,一个麻烦的办法是每次代码里运行system来切换字符集(噗)2. 修改源代码格式为GBKSublime原生并不支持GBK编码,但如果安装了ConvertToUTF8插件,就可以正确显示ANSI或者GBK编码的文件。因此,装插件后打开GBK编码的源代码文件,也不会乱码。一个更巧妙地办法是使用编译器的选项-fexec-charset来设置代码中字符串的编码,这样源文件可以使用utf-8编码,只是编译的时候用指定的编码来编译源代码中的字符串。在编译命令gcc中加入选项-fexec-charset=GBK来说明将代码中的字符串按照GBK编码,从而和CMD窗口一致,也不会乱码。修改后的c语言的配置文件如下:1234567891011121314working_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但是加入这个选项后,如果要编译的不是utf-8 ,而是GBK ,必须还要加入-finput-charset=GBK 选项来制定源代码的编码格式,否则会提示错误error: converting to execution character set: Illegal byte sequence。而加入这个选项后编译utf-8又会乱码。所以,目前博主还没找到源文件是utf-8编码和gbk编码两种情况下中文都不会乱码的方法。使用makefile编译多个文件sublime可以使用makefile来编译多个文件,以便支持稍大一点的工程项目。只要在侧边栏中打开相关的文件夹,确保文件夹中包含makefile文件。此时按下Ctrl+Shift+B ,会有make的选项,点击执行就可以了。sublime-build编译系统配置文件这个编译文件是JSON文件,遵循JSON的语法。JSON 数据的书写格式是:“名称”: “值” 例如 “firstName” : “John”值中如果还有双引号要用转义 ” 来表示用到的名称名称含义working_dir运行cmd是会先切换到working_dir指定的工作目录cmd包括命令及其参数。如果不指定绝对路径,外部程序会在你系统的:const:PATH 环境变量中搜索。shell_cmd相当于shell:true的cmd ,cmd可以通过shell运行。file_regex该选项用Perl的正则表达式来捕获构建系统的错误输出到subli

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论