zoukankan      html  css  js  c++  java
  • Sublime配置C和C++编译运行环境

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

      1.安装MinGW

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

         2.配置环境变量

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

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

    wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;C:Program Files (x86)Dev-CppMinGW64Win"
    wmic ENVIRONMENT create name="LIBRARY_PATH",username="<system>",VariableValue="C:Program Files (x86)Dev-CppMinGW64lib"
    wmic ENVIRONMENT create name="C_INCLUDEDE_PATH",username="<system>",VariableValue="C:Program Files (x86)Dev-CppMinGW64include"

         将上面代码复制,粘贴到新建文本文档中,保存为 "**.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 3PackagesUser),我们修改 文件名为 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

          

          

  • 相关阅读:
    inotify+rsync做实时同步
    JAVA序列化和反序列化
    初识iBatis
    《Spring in action》之高级装配
    《Spring in action》之装配Bean
    原根
    数论知识
    线性(欧拉)筛
    Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) E DNA Evolution
    Fibonacci
  • 原文地址:https://www.cnblogs.com/skyke/p/6601434.html
Copyright © 2011-2022 走看看