一、环境配置
1.  下载安装MinGW

2.  设置环境变量     
      在path变量中,添加路径mingw的路径,如C:\Program Files\MinGW\bin
二、编辑源代码
   Windows命令行使用GNU编译器
     经过上述两步,就可以在在Windows中使用命令行窗口来模拟Linux终端了。
1.  新建 main.c 文件
           通过edit main.c 命令创建并打开编辑main.c文件
         
 
2. 编辑代码
        (ps:这样古朴的界面,您还记得么?)
        
3. 保存并退出
        使用ALT键调出菜单,保存文件后退出。
       
三、编译过程
       编译过程分为四步:预处理、编译、汇编、连接
            
      
1. 预处理
         预处理主要处理源文件中的“#include”、“#define”等预处理等命令
         预处理主要完成的工作有(参考:《程序员的自我修养》):
         (1) 删除 #define,展开宏
         (2) 处理条件编译指令。预处理程序先判断条件,再根据条件修改源代码
         (3) 删除注释
         (4) 添加行号,以及文件名标识。便于调试
         (5) 删除“#include”,插入相应的头文件
        
         使用gcc -E main.c -o main.i 命令,预处理后得到main.i 文件
         
         
  2. 编译
         生成汇编代码的过程。
         使用gcc -S main.i -o main.s 命令,编译后得到main.s 文件
         
         
     
          
3. 汇编
    将汇编代码转化成 机器指令。
    使用gcc -c main.c -o main.o 命令,得到目标文件main.o
       
     
4. 连接
    通过连接库文件,将目标文件转化成可执行文件。
    使用命令 gcc -ld
    一般情况下,我们直接使用gcc main.c -o main就可以生成可执行程序了。
   当然,在Windows下使用gcc时,生成的可执行文件不再是main.out ,而是main.exe文件

转发一篇C++编译器环境搭建的文章的更多相关文章

  1. Hadoop生态圈-Hive快速入门篇之Hive环境搭建

    Hadoop生态圈-Hive快速入门篇之Hive环境搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据仓库(理论性知识大多摘自百度百科) 1>.什么是数据仓库 数据 ...

  2. SpringBoot系列教程web篇之Beetl环境搭建

    前面两篇分别介绍了目前流行的模板引擎Freemaker和Thymeleaf构建web应用的方式,接下来我们看一下号称性能最好的国产模板引擎Beetl,如何搭建web环境 本文主要来自官方文档,如有疑问 ...

  3. SpringBoot系列教程web篇之Thymeleaf环境搭建

    上一篇博文介绍了如何使用Freemaker引擎搭建web项目,这一篇我们则看一下另外一个常见的页面渲染引擎Thymeleaf如何搭建一个web项目 推荐结合Freemaker博文一起查看,效果更佳 1 ...

  4. SpringBoot系列教程web篇之Freemaker环境搭建

    现在的开发现状比较流行前后端分离,使用springboot搭建一个提供rest接口的后端服务特别简单,引入spring-boot-starter-web依赖即可.那么在不分离的场景下,比如要开发一个后 ...

  5. 自动化测试基础篇--Selenium Python环境搭建

    学习selenium python需要的工具: 1.浏览器 2.Python 3.Selenium 4.FireBug(Firefox) 5.chromedriver.IEDriverServer.g ...

  6. 引用 自动化测试基础篇--Selenium Python环境搭建

    原文链接:https://www.cnblogs.com/sanzangTst/p/7452922.html 鸣谢参藏法师. 学习selenium python需要的工具: 1.浏览器 2.Pytho ...

  7. Android开发第1篇 - Android开发环境搭建

    归结一下,需要进行Android开发所需要的工具或软件: Eclipse - Android是基于JAVA的开发,所以选用目前来说使用较高的Eclipse作为IDE. ADT (Android Dev ...

  8. Flink从入门到放弃(入门篇2)-本地环境搭建&构建第一个Flink应用

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...

  9. Hadoop环境搭建|第四篇:hive环境搭建

    一.环境搭建 注意:hive版本不能太高,否则会出现兼容性问题 1.1.上传hive安装包 创建文件夹用于存放hive文件命令:mkdir hive 1.2.解压hive安装包 命令:tar -zxv ...

随机推荐

  1. 浏览器主页被hao123贱贱的篡改的一种方式

    今天打开一个PDF文件(正经文件,不要想歪了),误点了一个“编辑”按钮,出来发现浏览器主页被篡改了,包括chrome和IE.通过一个网址"www.qquuu8.com"跳转到hao ...

  2. bzoj 3211: 花神游历各国

    #include<cstdio> #include<cmath> #include<iostream> #define M 100006 using namespa ...

  3. 1627. Join

    http://acm.timus.ru/problem.aspx?space=1&num=1627 给一个无向图,问可以有多少生成树 参照     周冬<生成树的计数及其应用> 代 ...

  4. 通过GET方法返回定义的任意对象

    package util; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputSt ...

  5. onscroll

    var COUNT = 0, demo = document.getElementById('demo'); function testFn() {demo.innerHTML += 'testFN ...

  6. win7 64位4GB内存下 tomcat7扩大内存

    新部署的scm项目运行第二天报: Could not retrieve transation read-only status server 无法获取事务只读状态服务器 登录界面输入正确账号密码登录后 ...

  7. A、B、C、D和E类IP地址

    IP地址分为A,B,C,D,E五类. 网络号:用于识别主机所在的网络:主机号:用于识别该网络中的主机. 其中A类分配给政府机关使用,B类地址给大中型企业使用,C类地址给个人使用.这三种是主要的. IP ...

  8. [DNS-BIND]网络初始化

    1.创建ns_g_socketmgr: 首先,套接字管理器是全局唯一的,与有多少个网络接口无关,全局变量定义在/bin/named/include/named/globals.h: EXTERN is ...

  9. JS 4 新特性:混合属性(mixins)之二

    Mixins many classes[混合许多个类] 迄今为止,我们已经学会了简单的继承,我们还能够通过使用mixins处理机制来混合许多类.源于这种理念是非常简单的:我们能够把许多个类最终混合到一 ...

  10. Monkey基本使用流程及测试报告分析

    前一篇文章介绍了Monkey的API函数内容,这篇文章介绍windows环境下Monkey的基本使用方法. 由于博客园年底才能完成对markdown解析的升级,可移步我的个人博客查看此文,已获得更好的 ...