就我已经经历过的大学课程,仿佛每一门计算机的专业课程的开头,都是在介绍计算机发展的历史,和大名鼎鼎的冯诺依曼结构。

譬如C语言,比较水的计算机导论,c++,数据结构,计算机组成原理,甚至是Linux实践。

第一次听着可能还新鲜,但久而久之就越来越无聊甚至忘记了具体的内容是什么。我也差不多,所以为了你们更好的理解,专门去看了这么一部电影,《模仿游戏》。

除了能看见超帅的男主角,令人揪心的剧情,还有值得我们这种专业人士注意的,当然就是大名鼎鼎的图灵机。

你能想象我们今天接触的大部分电子设备都是从这玩意儿演变过来的嘛!

所以你要明白,计算机的最底层,其实是非常简单的,就和上图这玩意儿一样。

当然你肯定知道,计算机是使用二进制运行的,也肯定知道那是因为世界上所有可以找到的元器件,能方便表达的就是二进制,比如拿一个电压器,高电压就是1低电压就是0,多方便。

那么自然而然,最开始那批学习计算机的勇士们,都是拿着10101010这样的二进制直接和那笨重的机器打交道,他们拿着长长的纸条,有孔的地方是1,没空的地方是0(还是正好相反来着),总之就是很难对了!

于是一群快累死的程序员动用各自的智慧,发明了汇编语言。

然而汇编语言有多难你肯定知道!

于是又一群快累死的程序员们,发明了高级语言,C语言。

故事讲到这里就结束了,但请你依然把时间线放在十几年前,C语言刚刚发明的那会儿——我们刚刚从使用纸条甚至手摇的机器语言时代,从汇编语言的艰难垦荒走过来。哪里有操作系统Windows啊!

所以,那个时候的我们使用命令行编程。

我猜你可能没办法理解。你使用win+R的组合,在输入cmd,注意不是nmd。

就会看见黑黑的命令行,也是每次你使用VC或者DEV或者任何C语言编译器时,明明那么花花绿绿的界面,一定会蹦出来的那个黑色框框,没错,基本上就是这个了。

那个时候的人们打开电脑就是这种糟心玩意儿。

想看时间怎么办,你输入个time试试。

想听音乐怎么办,对不起,没有。

于是在那种艰苦的情况下,诞生了gcc,因为即使环境再艰苦,我们程序员依然要编辑C语言!

这里我就不给你演示了,因为在Windows上用gcc还要配,我懒得配了。总之就是在这么一个黑不拉几的东西上,C语言完成了从你能看得懂的代码,到机器能看得懂的机器语言10101010。

就跟Windows的诞生一样,那黑色的命令行实在太难看也太难用了。

我们优秀的前辈们,也实在忍不了在gcc上编译运行,出错全靠肉眼输出改bug了。

于是我们有了VC,一只套着VC名称实则还是gcc的狼。

所以其实,Windows和Linux系统用的C语言编译器,都是gcc,只不过你们一般见到的,都是套了壳子的。

看完觉得还行不点个关注?

C语言编译器,写给萌新们看看。的更多相关文章

  1. 【转】自己动手写SC语言编译器

    自序 编译原理与技术的一整套理论在整个计算机科学领域占有相当重要的地位,学习它对程序设计人员有很大的帮助.我们考究历史会发现那些人人称颂的程序设 计大师都是编译领域的高手,像写出BASIC语言的BIL ...

  2. 萌新学习Python爬取B站弹幕+R语言分词demo说明

    代码地址如下:http://www.demodashi.com/demo/11578.html 一.写在前面 之前在简书首页看到了Python爬虫的介绍,于是就想着爬取B站弹幕并绘制词云,因此有了这样 ...

  3. 手把手教你提交Jar包到Maven公共仓库 | 萌新写开源02

    在上一篇文章中,我介绍了自己的SpringBoot Starter项目,可以让我们使用注解的方式轻松地获取操作日志,并推送到指定数据源. 之前,我的项目开源在Github上,大家想要用我的项目,还得把 ...

  4. 致萌新与不会用 NOI Linux 的 OIer

    全文绝大部分转载自:这篇好文章啊. 目录 1:GUIDE 2:Gedit 原文 打开 编译运行 3.Vim 3-1:这东西咋开啊 3-2:这东西咋用啊 4.编译与运行 5.调试 6.CSP竞赛中编写代 ...

  5. C语言编译器CL.exe

    下载地址CL.7z版权问题:仅供学习交流,请于24小时内删除,本人不承担版权问题… 基本使用: 1.解压缩,例如解压缩到E盘根目录下 2.打开cmd命令行界面(快捷方式win+R输入cmd回车)cd命 ...

  6. 我发起并创立了一个 C 语言编译器 开源项目 InnerC

    本文是 VMBC / D#  项目 的 系列文章, 有关 VMBC / D# ,  见 <我发起并创立了一个 VMBC 的 子项目 D#>(以下简称 <D#>)  https: ...

  7. 萌新web前端从零开始(1)——计算机入门

    前言:这是一个萌新从零开始的学习之路,与大家分享自己的看法与见解,还请指出错误与遗漏点方便改正. 1.认识计算机. 计算机语言常见的有C,PHP,Ruby,Java,C#,Basic,JS,C++等, ...

  8. 萌新笔记之堆(heap)

    前言(萌新感想): 以前用STL的queue啊stack啊priority_queue啊,一直很想懂原理,现在终于课上到了priority_queue,还有就是下周期中考,哈哈,所以写几篇blog总结 ...

  9. 大数据萌新的Python学习之路(一)

    笔记开始简介 从2018年9月份正式进入大学的时代,大数据和人工智能的崛起让我选择了计算机专业学习数据科学与大数据技术专业,接触的第一门语言就是C语言,后来因为同学推荐的原因进入了学校的人工智能研究协 ...

随机推荐

  1. 【Lua】关于遍历指定路径下所有目录及文件

    关于Lua中如何遍历指定文件路径下的所有文件,需要用到Lua的lfs库. 首先创建一个temp.lua文件,用编辑器打开: 要使用lfs库,首先需要把lfs库加载进来 require("lf ...

  2. Android控件之ListView的使用

    ListView是Android当中一个非常常用的数据显示控件. 第一种可以使用List<HashMap<String , Object>>,作为适配器的数据源来显示要显示的数 ...

  3. css选择器星号(*)

    1.星号(*)选择器的优先级 css的(*)选择器,也是通用选择器,对所有的页面元素(html,title,style,body,div,p……)应用样式,级别最低 在选择器的级别中:在元素名< ...

  4. [转]error MSB4018: The "GenerateResource" task failed unexpectedly

    本文转自:https://github.com/Microsoft/msbuild/issues/364 After uninstall Visual Studio 2015 Update 1 RC ...

  5. Cheatsheet: 2017 02.01 ~ 02.28

    Web Debouncing and Throttling Explained Through Examples What is TypeScript? An Absolute Beginner's ...

  6. pycharm下 os.system os.popen执行命令返回有中文乱码

    原文 settings:

  7. Python入门-初始函数

    今天让我们来初步认识一个在python中非常重要的组成部分:函数 首先,让我们来幻想这样一个场景: 比如说我们现在想要通过社交软件约一个妹子,步骤都有什么? print('打开手机 ') print( ...

  8. new Date(年-月)时间是8点

    new Date('2018-02')获取的小时是8时解决new Date('2018-2')获取的小时是0时

  9. React Native之React速学教程(中)

    概述 本篇为<React Native之React速学教程>的第一篇.本篇将从React的特点.如何使用React.JSX语法.组件(Component)以及组件的属性,状态等方面进行讲解 ...

  10. easyui grid 增加合计行

    一.首先,easyui  grid 的 showfooter 属性设置为 true $aplgrid.datagrid({ data: globalExpenseClaimForm.ExpenseCl ...