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

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@ 。

全部

为什么可以用c语言实现C编译器,c编译器-c语言的编译器是干什么用的 爱问知识人...相关推荐

  1. c语言编程显示单月日历,C语言日历显示日历显示br/编程反复显示2013年各月份日历 爱问知识人...

    日历显示 编程反复显示2013年各月份日历.(程序可以设定2013年1月1号为星期二). #include void main() { int t,h,day,i,y; char c; while(1 ...

  2. c语言程序中*p代表什么,C语言声明指针的时候int*p到底是什么意思? 爱问知识人...

    在C语言中,有一个神奇的符号,也就是*号.是的,这是一个非常神奇的符号,神奇到有时候我都想骂街了,为什么C语言发明者要用*这个星号来同时表示乘法运算和指针定义呢?既然C语言就是这么发明了,我们也只能这 ...

  3. 幼儿园语言活动包括哪几类_语段从语言三个方面-幼儿园语言教育的内容包含哪些请从三方面进行回答?幼儿园语言教育的 爱问知识人...

    幼儿园语言教育目标有哪三个层次? 1.幼儿园语言教育的总目标 幼儿园语言教育总目标,是幼儿园语言教育任务要求的总和,即幼儿园三年 语言教育所期望的最终结果, 又叫终期目标.它是幼儿园教育总目标的一个组 ...

  4. c语言的考试是操作电脑还是写试卷,C语言考试试卷都是基础的题目,由于本人没学过C语言,求各位帮忙, 爱问知识人...

    都是基础的题目,由于本人没学过C语言,求各位帮忙,通过后再给一次分一.单项选择题(10道小题,共10分) 1.以下程序的输出结果是:main(){int x; for(x=1;x<10;x++) ...

  5. c语言课后题2.52.8答案,C语言练习题(8)-只要答案不要分析,要速度,要正确51.(1 爱问知识人...

    51. (1分)有以下程序 main() { int x=3, y=2, z=1; printf("%d\n",x/y&~z); } 程序运行后的输出结 ...

  6. c语言编写考试程序,c语言考试编写三个程序:1.从键盘输入一些字符,逐个把它们送到磁? 爱问知识人...

    下面三段程序代码都是我在VC6.0编译器上调试通过的.请给分 //test1-2.c #include #include int main() { FILE *fp = fopen("fil ...

  7. C语言给考场编号,求:用C设计考场的编排,生成准考证号基本要求:br/(1)用 爱问知识人...

    基本要求: (1) 用C 语言编程,在Visual C 环境下调试完成: (2) 使用结构数组,各个功能分别使用函数来完成. (3) 源代码程序要有必要的注释. 设计方法和基本原理 1.课题功能描述 ...

  8. c语言什么叫为代码写注释算法,急!-伪代码不知哪位高手能够告诉我,什么是伪代码?伪代码编 爱问知识人...

    表示一种算法,可以使用不同的方法,比如使用伪代码,自然语言,流程图,计算机语言等. 什么伪代码呢?伪代码(Pseudocode)是一种算法描述语言.使用伪代码的目的是为了使被描述的算法可以容易地以任何 ...

  9. c语言运行可以微信直接打开吗,如何用软件visual+c+++直接打开已将创建好的MFC工程文? 爱问知识人...

    这是我的回答,希望对你有帮助. 楼主应该打开过 VC 这个软件吧,你可以看一下新建工程的时候,有好多项目类型可以选择,例如,win32应用程序,win32控制台,MFC应用程序等等,所以 VC 只是一 ...

最新文章

  1. 《挑战30天C++入门极限》新手入门:C/C++中枚举类型(enum)
  2. java语言中数值自动转换的优先顺序
  3. c语言小学生加法考试题程序4,c语言编程题及答案.doc
  4. shell和linux的认识
  5. linux accept 队列,[译] TCP的SYN队列和Accept队列
  6. linux systemd 使用
  7. 推荐几个电子/嵌入式方向的公众号
  8. [C++11]常量表达式函数
  9. java使用缓冲区读取文件_在Java中使用Google的协议缓冲区
  10. 如何做一个MySQL优良数据库_MySQL数据库如何做好优化
  11. 微信回应 WeTool 被封事件;支付宝小程序开放直播功能;Raspberry Pi 4 发布 8GB 版本| 极客头条...
  12. 蓝桥杯 算法提高 队列操作
  13. Linux 系统安装 AutoFs 挂载服务
  14. 地理必修一三大类岩石_90后地理老师4天收700封情书!这波操作,绝了……
  15. 2021-1-28Linux学习纪要
  16. 城市公交、地铁站点和线路数据纠偏与矢量化
  17. elasticsearch 常见的概念
  18. 【自学与引导】 大数据技术 技能课程总结篇
  19. Simulink代码生成:通过Legacy Code Tool集成C函数
  20. Nuscenes——环视相机下BEV时序融合:前后帧空间对齐操作

热门文章

  1. 计算机局域网采用的数据传输系统,两台win7系统电脑怎么使用局域网传输文件...
  2. 华大单片机HC32F005串口烧录程序
  3. 计算机CCT考试模拟操作题,基础计算机cct考试模拟题
  4. 惠普HP LaserJet Enterprise MFP M528dn 驱动
  5. 安卓test111 --58
  6. 关于SSD 4K对齐
  7. JAVA 的聊天室程序
  8. Python跨文件全局变量
  9. vue基于Blob.js和Export2Excel.js做前端导出excel兼容ie
  10. css 利用动画实现旋转卡片