首页 > 编程语言 > 详细

Sublime配置C和C++编译运行环境

时间:2017-03-23 01:39:36      阅读:117      评论:0      收藏:0      [点我收藏+]

     最近在学习《深入理解计算机系统》,里面的代码是在Linux环境下的C语言编写,由于采用gcc编译环境,为方便本人学习,特在Windows环境下载了MinGM,并且配合Sublime编辑器,发挥很大功能,能够实现简单C程序的编译,运行和反编译查看汇编代码。

  1.安装MinGW

     在安装Dev C++的过程中自动安装了MinGW,也可以单独下载安装MinGW。

     2.配置环境变量

      在MinGW bin文件中有很多命令,为了使这些可执行命令在控制台直接使用,需要配置环境变量,根据MinGW的文件路径

      (本人:C:\Program Files (x86)\Dev-Cpp\MinGW64),配置环境变量。

wmic ENVIRONMENT where "name=‘path‘ and username=‘<system>‘" set VariableValue="%path%;C:\Program Files (x86)\Dev-Cpp\MinGW64W\bin"
wmic ENVIRONMENT create name="LIBRARY_PATH",username="<system>",VariableValue="C:\Program Files (x86)\Dev-Cpp\MinGW64\lib"
wmic ENVIRONMENT create name="C_INCLUDEDE_PATH",username="<system>",VariableValue="C:\Program Files (x86)\Dev-Cpp\MinGW64\include"

     将上面代码复制,粘贴到新建文本文档中,保存为 "**.bat" ,右键以管理员身份运行,配置环境变量完成。

     3. 构建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\""}]
}

     按Ctrl+s保存,会自动打开user目录(Sublime Text 3\Packages\User),我们修改 文件名为 c.sublime-build,保存在此目录。

     这样以后打开.c文件就默认是c类型,按Ctrl+Shift+B就可以编译运行C程序。

     

     4. 构建C++语言编译系统

      步骤同上,只是将插入代码中的gcc该为g++, source.c改为source.c++ ,保存文件名c.sublime-build改为c++.sublime-build就可以了;

{
"encoding": "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\""}]
}

    5. 编译和反编译命令

     对于一个C程序,使用命令gcc -S main.c 可以产生对应的汇编代码main.S,可以直接用文本编辑器打开查看。

     对于生成的object文件,可以采用objdump命令进行反汇编。

     objdump -t obj 输出目标文件的符号表()
     objdump -h obj 输出目标文件的所有段概括()
     objdump -j .text/.data -S obj 输出指定段的信息
     objdump -S obj C语言与汇编语言同时显示

     objdump -d obj 反汇编那些应该还有指令机器码的section

      

      

 

Sublime配置C和C++编译运行环境

原文:http://www.cnblogs.com/skyke/p/6601434.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!