一、环境配置
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. E. Vasya and Beautiful Arrays

    http://codeforces.com/contest/355/problem/E 每个数都可以变成段 [a-k,a], 某一个因子是否被所有的段包含,就是把这个因子以及它的所有倍数看成点, 看是 ...

  2. IHttpHandler防止图片链接被盗用

    public class JpegHandler : IHttpHandler { public bool IsReusable { get { return true; } } public voi ...

  3. spring IOC装配Bean(注解方式)

    1 Spring的注解装配Bean (1) Spring2.5 引入使用注解去定义Bean @Component 描述Spring框架中Bean (2) Spring的框架中提供了与@Componen ...

  4. 获取数据库表详细信息、存储过程、视图、的sql

    select s.[name] + '.' + t.[name] as tablename from sys.tables as t,sys.schemas as s where t.schema_i ...

  5. js2

    1.JS的三种输出方式: alert("");console.log("");document.write(""); 2.流程控制语句: a ...

  6. DevExpress VGridControl 行宽自动调整

    1. 让列的宽度自动填充 如果VGridControl的LayoutStyle属性为BandsView或SingleRecordView,那么把VGridControl的OptionsView.Aut ...

  7. Android 取源码时 error: could not verify the tag 'v1.12.4'的解决

    原帖地址http://forum.xda-developers.com/showthread.php?p=46100064也没说啥原因 repo init -u git://github.com/Cy ...

  8. JDBC driver connection string大全

    Database   / data source URL format /   driver name Value Default port MySQL URL format: jdbc:mysql: ...

  9. Httpclient请求数据

    package com.baidu.myutils; import java.io.IOException; import org.apache.http.HttpEntity; import org ...

  10. Android手机无法访问百度空间的解决办法

    本文网址:http://www.cnblogs.com/tunnel213/p/4301165.html 现象: 百度“JavaScript函数高级”后找到一篇文章,百度空间的,无法查看: 配置: 三 ...