ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

编译器、编辑器、文件、等基本概念

2020-04-26 21:06:20  阅读:210  来源: 互联网

标签:文件 gcc ++ 编辑器 编译器 源代码 基本概念


一、

1、编辑器与编译器的区别:

编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 → 预处理器 → 编译器 → 目标代码 → 链接器 → 可执行程序。

而编辑器是软体程序,一般是指用来修改电脑档案的编写软件。常见的编辑器有文本编辑器、网页编辑器、源程序编辑器、图像编辑器,声音编辑器和视频编辑器等。

编译器是把源代码编译成二进制字节码的程序,编辑器是让我们编写源代码更方便快捷的工具。编译器一般指的是.exe,编辑器指的是Visual Studio、Dev C++等。

2、好用的编辑器:

Visual Studio、Dev C++

二、

1、源代码文件:

源代码文件:是指中文名程序编辑别称算法语言计算机所能识别的语言性质源代码文件,是指将完成一件工作所需要的步骤,也就是算法,用计算机所能识别的语言,按照一定的程序结构翻译出来,并可被计算机执行的编写代码的全过程.该程序编辑形式(能通过编译、链接生成最终程序(一般是可执行文件)的源代码文件。

2、可执行文件:

可执行文件指的是可以由操作系统进行加载执行的文件。在不同的操作系统环境下,可执行程序的呈现方式不一样。在windows操作系统下,可执行程序可以是 .exe文件 .sys文件 .com类型文件。

3、xxx.sln:

.sln:解决方案文件,为解决方案资源管理器提供显示管理文件的图形接口所需的信息

4、项目文件:

.csproj:项目文件,创建应用程序所需的引用、数据连接、文件夹和文件的信息。

5、文本文件:

文本文件是一种由若干行字符构成的计算机文件。文本文件存在于计算机文件系统中。通常,通过在文本文件最后一行后放置文件结束标志来指明文件的结束。文本文件是指一种容器,而纯文本是指一种内容。文本文件可以包含纯文本。一般来说,计算机文件可以分为两类:文本文件和二进制文件。

三、

1、IDE与编辑器、编译器、调试器的关系:

集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫IDE。

2、常用的IDE:

微软 Visual Studio(VS)、Dev C++、PyCharm、NoteBeans、IntelliJ IDEA、Eclipse、Code:: Blocks、

四、在Visual Studio中,按一下ctrl+F5就可以“直接运行”.c或.cpp文件时:

1、原理:

启动源文件,将代码转化成计算机能懂的语言,然后进行编译

2、步骤:

清除缓存,强制刷新,执行了g++、gcc这两个命令

五、g++、gcc这两个命令的区别:

1、gcc只能编译c代码,g++只能编译c++代码
两者都可以,但是请注意:
(1)后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。
(2)编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。

2、gcc不会定义__cplusplus宏,而g++会
实际上,这个宏只是标志着编译器将会把代码按C还是C++语法来解释,如上所述,如果后缀为.c,并且采用gcc编译器,则该宏就是未定义的,否则,就是已定义。

3、编译只能用gcc,链接只能用g++
严格来说,这句话不算错误,但是它混淆了概念,应该这样说:编译可以用gcc/g++,而链接可以用g++或者gcc -lstdc++。因为gcc命令不能自动和C++程序使用的库联接,所以通常使用g++来完成联接。但在编译阶段,g++会自动调用gcc,二者等价。

标签:文件,gcc,++,编辑器,编译器,源代码,基本概念
来源: https://www.cnblogs.com/fzhyxc520/p/12779839.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有