第二章 编译环境搭建

  导读:C语言程序如何工作,首先需要编译链接成可执行文件,然后就可以运行在不同的环境中,这个“环境”的意思就是比如说,电脑,手机,路由器,蓝牙音箱等等智能设备中,其中编译器启到了关键的桥接作用。本章主要先从C语言编译的全过程开始分析,然后介绍常用的编译器工具,最后介绍本系列博客使用的免费开发软件Dev-C++安装过程。

1.1 C语言编译过程

  C语言的代码直观的看来就是文本字符,这些文本字符要让机器能够识别并执行其中的指令,需要有个软件来转换,这个软件就是编译器(注意:有人可能会提出,既然编译器是软件,那么最开始编译编译器的软件从何而来,我觉得这个鸡生蛋蛋升级鸡的问题可以暂时不去考虑,真想了解可以去深入学习编译原理,本文只是粗略的探讨一下)。

  任何一门语言都有它的语法与词法,C语言是人类能看懂的,计算机内部CPU和内存之间如何交流呢,它只能通过机器语言来交流。从C语言代码到机器能够识别的语言这整个转换过程就叫做编译,编译的完整过程为:C语言程序 -> 预编译处理器 -> 编译,优化程序 -> 汇编程序 -> 链接程序。

  目前读者可以这样理解,在windows系统中,C语言程序写好后,保存为.c文件,编译链接后就会有个.exe文件,点击即可执行。具体编译链接全过程,在接下来几个章节开始写了比较复杂的程序后,再逐步介绍会更加清晰的了解。

2.1 常用的编译器和编

  在windows系统中,比较常用的编译软件是VC6.0,VS,Turbo C,Dev-C++。在linux系统中一般用vim+gcc的组合。笔者大学期间,用的是VC6.0,为了使用免费的编译器,本系列文章使用的是Dev-C++,这也是笔者第一次用。

3.1 Dev-C++安装教程

3.1.1下载地址+下载方法

  免费下载地址:https://sourceforge.net/projects/orwelldevcpp/  如图2.1,点击绿色按钮Download。

图2.1  下载Dev-C++页面

3.1.2 安装教程

图2.2  选择安装过程使用语言

图2.3  同意协议

图2.4  选择支持组件

图2.5  选择安装路径

图2.6  安装等待过程

图2.7  安装完成点击运行

图2.8  软件使用语言选择

图2.9  风格设定

图2.10  Dev-C++软件界面

  编译软件安装完成后,具体使用方法在第三章会详细介绍。

C语言编程入门之--第二章编译环境搭建的更多相关文章

  1. Unix/Linux环境C编程入门教程(4) Debian Linux环境搭建

    Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 1.广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Deb ...

  2. C语言编程入门之--第一章初识程序

    第一章 初识程序 导读:计算机程序无时不刻的影响着人类的生活,现代社会已经离不开程序,程序的作用如此巨大,那么程序到底是什么呢?本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言 ...

  3. Unix/Linux环境C编程入门教程(18) kali-linuxCCPP开发环境搭建

    1. Kali linux是BT5的晋级版本,用于信息安全.基于Debian7内核.新建虚拟机. 2. 选择默认虚拟机 3. 选择稍后安装操作系统 4.选择Linux Debian7 64位,因为Ka ...

  4. Unix/Linux环境C编程入门教程(15) BT5开发环境搭建

    1. Backtrack 是处于世界领先地位的渗透测试和信息安全审计发行版本.有着上百种预先安装好的工具软件,并确定能完美运行,Backtrack5 提供了一个强大的渗透测试平台--从Web hack ...

  5. Unix/Linux环境C编程入门教程(7) OPENBSDCCPP开发环境搭建

    1. 年发起了OpenBSD 专案,希望创造一个注重安全的操作系统. 2.创建一个虚拟机. 3.选择默认的workstation10.0 4.我们选择稍后安装操作系统. 5.我们选择FreeBSD64 ...

  6. Unix/Linux环境C编程入门教程(3) Oracle Linux 环境搭建

    Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 2010年9月,Oracle Enterprise Linux发布新版内核--Un ...

  7. 【菜鸟学习Linux】-第三章- Linux环境搭建-使用VMware9安装Ubuntu 12.04系统

    上一步,我们安装了VMware9虚拟机,现在我们就是用它来安装Ubuntu12.04系统,至于Ubuntu是什么,我就不废话了,大家google一下,比我讲的清楚,好了,开始干活! Ubuntu官网下 ...

  8. Python黑帽编程 2.0 第二章概述

    Python黑帽编程 2.0 第二章概述 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一 ...

  9. Tiny4412 开发板 编译环境搭建【转】

    本文转载自:http://blog.csdn.net/beijiwei/article/details/51055369 版权声明:本文为博主原创文章,未经博主允许不得转载. /*********** ...

随机推荐

  1. SpringBoot从入门到精通十一(SpringBoot文件上传的两种方法)

    前言 在企业级项目开发过程中,上传文件是最常用到的功能.SpringBoot集成了SpringMVC,当然上传文件的方式跟SpringMVC没有什么出入. 本章目标 使用SpringBoot项目完成单 ...

  2. MyBatis 源码分析

    MyBatis 运行过程 传统的 JDBC 编程查询数据库的代码和过程总结. 加载驱动. 创建连接,Connection 对象. 根据 Connection 创建 Statement 或者 Prepa ...

  3. Angular4.0从入门到实战打造在线竞拍网站学习笔记之一--组件

    Angular4.0基础知识之组件 Angular4.0基础知识之路由 Angular4.0依赖注入 Angular4.0数据绑定&管道 最近搞到手了一部Angular4的视频教程,这几天正好 ...

  4. 【微信小程序】记录

    学习新东西时,大体都遵循一样的道理,由总入深. 以下整理一下学习小程序的过程.虽然现在做的东西还有许多问题,比如说数据超过一定数量时循环效率低,或者是多次跳转页面后会变卡等问题.这些问题只解决了部分, ...

  5. if语句简单练习

    input练习 # -*-coding:utf-8 -*- # import getpass 隐藏只能在cmd中使用 user=input("请输入账号:") password=i ...

  6. java Http工具类

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  7. Redis在.net 环境下的使用

    Redis概念 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,和Memcached类似,它支持存储的value类型相对更多,包括st ...

  8. [常用命令]Git命令

    取得Git仓库 初始化一个版本仓库 git init Clone远程版本库 git clone https://github.com/yhj167/yhj167.github.io.git 添加远程版 ...

  9. 动态代理模拟实现aop

    AOP实现起来代码相当简单.主要核心是动态代理和反射. 一.接口类: public interface MethodDao { public void sayHello(); } 二.接口实现类: p ...

  10. 数据结构丨N叉树

    遍历 N叉树的遍历 树的遍历 一棵二叉树可以按照前序.中序.后序或者层序来进行遍历.在这些遍历方法中,前序遍历.后序遍历和层序遍历同样可以运用到N叉树中. 回顾 - 二叉树的遍历 前序遍历 - 首先访 ...