高级语言、汇编语言、机器语言这三种语言统称“计算机语言”。其中,机器语言是最低级的,是一串一串的电流表示“0001101010010110010101000110”之类的数据,全部由0和1组成,这样的语言是机器语言,只有机器才能记住这样冗长而没规律的数据,所以,用机器语言来编程序几乎是不可能的。但要命令机器做一样事情,必须用机器语言,怎么办呢?于是,产生了汇编语言,汇编语言比机器语言简单一点,但还是很难明白,当时的编译器就是把汇编语言转换成机器语言,再命令机器做事。现在,出现了高级语言,最人性化,人们很容易读懂,所以,我们可以直接输入自己熟悉的语言,到达机器的时候变成了机器最熟悉的语言,编程序就很容易了。编译器担负的就是这个转换工作。

本人不才,仅就个人意见谈谈:

1.什么是编译器:

简单的说,编译器是一种将高级语言经过其解释,翻译成可以运行的二进制代码(有可能是汇编代码,但这种方式处理不一样,还有编译成其他形式的如JAVA是编译成"字节码文件"),再通过它的连接程序就调用了系统内部的一些库,实际点说是操作系统的动态连接库,也就是你操作系统和硬件(BIOS)打交道而且已经写好的函数库(这个解释不是很准确,我现在学习其他语言的时候,对类似的说法有API(Application Interface 应用程序接口)调用系统动态连接库,注意:API是你的编译器提供的,也就是说你可以直接用他,而不需要写很多的底层的代码了,如果要很明确的说的话,就是一个应用程序接口需要很多的底层代码才能写出,而在你使用的C语言中只是一个语句而已,包括你写一个定义变量的语句: int i;计算机为什么能认识它,这就是它通过了二进制代码和汇编的组合完成了这个解释过程,而其功能,在内部需要很多的二进制代码和汇编代码. )

2.汇编和二进制代码以及高级语言的联系和区别:

在上面谈到了很多这种问题,这里再详细说说,首先,二进制是电路的高低电平的采集组合,这是可以直接控制内部的电路,因此它从逻辑上讲是可以直接运行的,而这种数字让人难以记忆,所以,人们发明了一种汇编代码,便于记忆,其实,在内部的处理方式一样,只不过在屏幕上,你能看到字符,是和键盘相对应的,在理论上,只需要一个缓冲和ROM解释就可以实现了,虽然升级了一大步,但是要写出一个让计算机处理的逻辑顺序太麻烦了,也就是代码量太大了,写起来也容易出问题,然后,人们就将一些非常常用的处理模块模板化,升级为B语言,后来的C语言等等,现在又将这些语言继续升级,很多代码根本就不用自己写了,至少写的代码可以比以前少百倍甚至于千倍以上.就像现在Microsoft所提供的开发软件VB,VC,VF等等.写代码的过程相当于在玩耍.尤其是做界面,根本不用写代码了.

3.编译器到底要干什么:

通过上面的一些理论解释,你应该有一定认识了吧,C语言编译器把它编译(JAVA语言中称为一种解释过程不过有一定的区别)连接,生成可执行文件(.exe文件)现在的编译器可以运行,而且这三部可以同时完成,你看不出有什么区别,但这样对理论学习不好.其实,在你第一次运行成功后,就会生成一个后缀为".exe"的文件,你双击它就可以运行了,而不用启动你的编译程序了(编译器其实也是一个程序,但其具体情况需要很多的知识解释,如果有兴趣可以查看<编译原理>),这可执行程序可以脱离于你的编译程序,但就C语言来说,由于其语言介于高级语言和低级语言之间,所以这种语言的移植性不是很高(这是经验)就是说,你把你的程序生成的.exe文件(也是编译器帮你完成的)拷贝到别人的电脑上不一定好用.

好了,有其他意见可以商讨:xieyuooo@126.com

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

f77编程和c语言的区别,在fortran中l用F77编译器编译程序时出现问题?相关推荐

  1. 机器人编程与python语言的区别_儿童编程和机器人编程有啥区别?

    这是最全面的回答!一篇文章让你彻底了解少儿编程和机器人编程的区别! 虽然都带有"编程"二字,但少儿编程和机器人编程还是有本质区别的,有哪些不一样呢? 偷懒的家长可以直接看下面这张表 ...

  2. 机器人编程与python语言的区别_一分钟看懂“机器人编程”和“少儿编程”的区别!...

    随着编程学习全球化的趋势,国内编程学习热潮日盛,越来越多的家长开始让孩子接触学习编程. 然而在挑选学习课程的过程中,机器人编程和少儿编程是最让家长头疼的问题之一. 因为两者的名称都有"编程& ...

  3. 机器人编程与python语言的区别_少儿编程和机器人编程的区别有哪些?

    少儿编程和机器人编程是目前市面上较为流行的少儿编程培训课程,对孩子逻辑思维的培养非常有益,随着家长对孩子教育的重视,如今少儿编程和机器人编程受到了广大家长的关注,究竟少儿编程和机器人编程的区别有哪些呢 ...

  4. Matlab编程和其他语言的区别

    from: http://peng-jun.blog.163.com/blog/static/2156281420093180321709/ 一.字符和字符串 在MATLAB中不管是字符,还是字符串都 ...

  5. c语言map作为参数传递,C++中map和vector作形参时如何给定默认参数?

    map和vector都可以用operator[]进行访问,map是用[]中的数据作为key进行查询,而vector是用[]中的数作为下标进行访问. 如果在用operator[]进行访问的时候出现了越界 ...

  6. python编程和c语言编程的区别-通过实例浅析Python对比C语言的编程思想差异

    我一直使用 Python,用它处理各种数据科学项目. Python 以易用闻名.有编码经验者学习数天就能上手(或有效使用它). 听起来很不错,不过,如果你既用 Python,同时也是用其他语言,比如说 ...

  7. c语言 python-C语言、Java语言和python语言的区别在哪里

    原标题:C语言.Java语言和python语言的区别在哪里 我们经常听到C语言.Java语言和python语言,那么这三者的区别在哪里呢?随着科技的进步以及新技术的推进,编程语言的种类也是越来越多,随 ...

  8. r语言和python-Python和R语言的区别_Python与R的区别和联系

    Python和R语言的区别_Python与R的区别和联系 可能问这个问题会很无脑,但是我还没有深入接触过Python,只是用过R语言.谁能帮我解答一下,这两者的主要区别呢?是否存在代替关系呢? 精彩解 ...

  9. 再谈编程范式-程序语言背后的思想

    link link 编程范式 托马斯.库尔提出"科学的革命"的范式论后,Robert Floyd在1979年图灵奖的颁奖演说中使用了编程范式一词.编程范式一般包括三个方面,以OOP ...

最新文章

  1. 组策略 从入门到精通(二) 如何区别跨越WAN网的计算机对组策略的套用
  2. toString()、String.valueOf、(String)强转,如何抉择,你真的了解吗
  3. Memcached深度分析【zz】
  4. iptables中文man文档
  5. 算法 - DFS/BFS
  6. P7990-[USACO21DEC]Closest Cow Wins S【堆,贪心】
  7. 观察者模式与Boost.Signals
  8. 解决问题:无法对 System程序集 添加Fakes程序集
  9. Objective-C SQLiteHelper
  10. BlockingQueue使用详解以及测试代码
  11. 串口485接法图_rs485 与485通讯 接线方法?
  12. 微信红包后台系统设计
  13. EyouCms1.0前台GetShell漏洞复现
  14. 范浩强treap 普通平衡树
  15. VmWare中虚拟机桥接无线网卡使用静态ip
  16. Nginx报错:nginx: [error] invalid PID number in /run/nginx.pid 解决方法
  17. unity 高德地图 Android
  18. 3090人工神经网络工作站配置
  19. R语言旋转扇形图的绘制
  20. 2007年12月14日

热门文章

  1. php reader oleread,请问用phpExcelReader方式,excel文件名字可以是中文吗?
  2. php josnp_浅析php中jsonp的跨域实例
  3. 曼秀雷敦搜索引擎营销方案_搜索引擎营销——被严重低估的互联网营销途径
  4. rosweb,roslib:bug汇总。报Warning: Invalid argument “/map“ passed to canTransform
  5. Style主题Theme风格Android
  6. 单麦克纳姆轮的速度分解
  7. car-like robot与两轮差速驱动机器人异同分析
  8. apriori算法_机器学习(无监督学习)关联规则Apriori算法原理与python实现
  9. react redux 简化_Redux 源码解析
  10. 代码规范七大原则_设计模式的七大原则详解||上篇