首页 > 编程知识 正文

程序编辑器,编译器是用什么语言写的

时间:2023-05-04 08:44:45 阅读:165565 作者:2924

作者|爱玩的帽子coding猫

源| C语言和编程

辅助排版编辑|yjdxb

各位,关于编译器和集成开发环境这两个名称,我们平时都在说,这两个人到底有什么区别和联系呢? 今天我简单地说一下。

我们平时说的程序是指双击即可运行的程序,这种程序称为可执行程序(Executable Program )。

在Windows上, exe和.com是可执行文件的后缀(其中. exe很常见)。 在类UNIX系统(Linux、Mac OS等)上,可执行文件没有特定的后缀,而是通过文件的标头信息来确定它是否是可执行文件。

可执行程序内部是一组计算机指令和数据的集合,它们都是二进制格式,CPU可以直接识别,无障碍; 但是对程序员来说非常模糊,很难记忆和使用。 例如,如果在屏幕上输出“VIP会员”,则c语言的格式如下:

puts(VIP会员);

二进制格式如下。

请感受一下直接使用二进制文件是想撞墙还是受到一吨重的伤害。

在计算机发展的初期,程序员使用这样的二进制指令编写了程序。 在其开拓时代还没有编程语言。

直接使用二进制指令编程对程序员来说是一场噩梦。 尤其是程序大的时候,编写起来很麻烦,不仅需要频繁查阅指令手册,而且调试异常烦恼,不得不直接面对一大堆二进制数据,让人眼花缭乱。 另外,用二进制指令编程的步骤很繁琐,需要考虑各种边界状况和基础性问题,开发效率非常低。 因此,程序员正在开发编程语言,以提高自己的生产力,例如汇编、c语言、c、Java、Python和Go语言,从而提高开发效率。 至此,编程最终不再是极客能做的事情,不懂计算机的读者也经过一定的训练可以编写相应的程序了。

什么是编译器

C语言代码按固定的词汇固定的格式组织,简单直观,程序员容易识别和理解。 但对CPU来说,C语言代码是天书,根本无法识别。 CPU只识别几百个二进制格式的指令。 这需要将c语言代码转换为CPU能够识别的二进制指令的工具。 也就是说,将代码加工成. exe程序。 此工具是一种特殊的软件,称为编译器(Compiler )。 编译器可以识别代码中的词汇、语句和各种特定格式,并将其转换为计算机可识别的二进制格式。 这个过程称为编译(Compile )。 编译也可以理解为“翻译”。 类似于把中文翻译成英语,把英语翻译成象形文字。 这是一个复杂的过程,包括词法分析、语法分析、语义分析、性能优化和可执行文件生成五个步骤,其间涉及复杂的算法和硬件架构。 对于学习计算机和软件的大学生来说,“编译原理”是一门专业课。 有兴趣的人请自己读《编译原理》这本书。 这里省略说明。

注意:即使不知道编译原理,也不影响我们学习c语言。 另外,不建议初学者研究编译原理。 太贪婪了,不要把自己牵扯进来。

C语言的编译器有很多种,不同的平台有不同的编译器。 例如:

Windows中常用的是微软开发的cl.exe,与Visual Studio或Visual C集成,不单独使用的Linux中常用的是GUN组织开发的GCC,很多Linux分发软件Mac中常用的是LLVM/Clang,它集成在Xcode中。 (Xcode以前与GCC集成,但由于GCC不合作,已更改为LLVM/Clang。 LLVM/Clang的性能比GCC更强。

你的代码语法是否正确,只有编译器说了才是。 我们学习C语言是学习如何在某种意义上使用编译器,使编译器生成可执行程序(例如windows.exe程序)。

编译器可以100%保证你的代码在语法上是正确的。 因为即使出了一点差错,编译也不会通过。 编译器会告诉你哪里错了,所以很容易更改。

什么是集成开发环境
实际开发中,除了编译器是必须的工具,我们往往还需要很多其他辅助软件,例如: 编辑器: 用来编写代码,并且给代码着色,以方便阅读; 代码提示器: 输入部分代码,即可提示全部代码,加速代码的编写过程; 调试器: 观察程序的每一个运行步骤,发现程序的逻辑错误; 项目管理工具: 对程序涉及到的所有资源进行管理,包括源文件、图片、视频、第三方库等; 漂亮的界面: 各种按钮、面板、菜单、窗口等控件整齐排布,操作更方便。
这些工具通常被打包在一起,统一发布和安装,例如 Visual Studio、Dev C++、Xcode、Visual C++ 6.0、C-Free、Code::Blocks 等,它们统称为集成开发环境(IDE,Integrated Development Environment)。

集成开发环境就是一系列开发工具的组合套装。 这就好比台式机,一个台式机的核心部件是主机,有了主机就能独立工作了,但是我们在购买台式机时,往往还要附带上显示器、键盘、鼠标、U盘、摄像头等外围设备,因为只有主机太不方便了,必须有外设才能玩的爽。  集成开发环境也是这个道理,只有编译器不方便,所以还要增加其他的辅助工具。
选择哪种集成开发环境
C语言的集成开发环境有很多种,以前写过专门的推送介绍过,这里就不再赘述了。 如果你实在不知怎么选择的话,那就VS吧,毕竟号称宇宙第一IDE,哈哈,就讲到这里吧,各位了解了吗?
﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
免责声明: 内容整理自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系,谢谢!

往期好文合集



//end
若觉得文章不错, 转发分享 ,也是我们继续更新的动力。 5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等

在公众号内回复「更多资源」,即可免费获取,期待你的关注~

长按识别图中二维码关注

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。