一、编辑器与编译器有什么区别?有什么好用的编辑器?
编辑器:编辑器是软件程序,一般是指用来修改电脑档案的编写软件,一个好的编辑器可以节省开发时间,提高工作效率,它们都能提供非常方便易用的开发环境。你可以用它们来编写代码,查看源文件和文档等,简化你的工作。常见的编辑器有文本编辑器、网页编辑器、源程序编辑器、图像编辑器,声音编辑器和视频编辑器等。
编译器:编译器是一种计算机程序,负责把一种编程语言编写的源码转换成另外一种计算机代码,后者往往是以二进制的形式被称为目标代码(object code)。这个转换的过程通常的目的是生成可执行的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译(compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。
好用的编辑器:Vim、NodePad++、ATOM、GNU Emacs、EditPuls编辑器、Windows记事本等等。
二、源代码文件、可执行文件、“xxx.sln”、项目文件、文本文件。
源代码文件:源程序文件是是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件。通常由高级语言编写。源程序可以是以书籍或者磁带或者其他载体的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机可执行的程序。
源代码文件包含程序员使用的任何编程语言编写的代码。
目标代码文件包含机器语言代码,它不必是完整的代码。
可执行文件包含组成可执行程序的完整机器语言代码。
可执行文件:可执行文件 (executable file) 指的是可以由操作系统进行加载执行的文件。在不同的操作系统环境下,可执行程序的呈现方式不一样。
包含了较为通用的信息,包括解决方案所包含项目的列表,解决方案内任何项的位置以及解决方案的生成配置。
此文件存储在父项目目录中.解决方案文件,他是一个或多个.proj(项目)的集合。
三、IDE与编辑器、编译器、调试器等有什么关系?举几个你常用的IDE。
IDE 就是 集成开发环境的英文缩写
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSite、DreamWeaver等),因为很多项任务会自动生成。
那么简单来讲,IDE就能使我们提升开发效率,比如智能提示,在导入包时自动生成一些代码。
常用的IDE:Visual Studio 2019、Dev C++等等。
四、在Visual Studio中,按一下ctrl+F5就可以“直接运行”.c或.cpp文件。原理是什么?中间经历了了什么步骤?实际上执行了什么命令?使用了g++、gcc这两个命令吗?
1、原理:将源代码文件转为可执行文件,执行可执行文件。
2、步骤:开始执行(不调试),启动目标文件,但不附加调试器。一般会单独出现一个运行结果界面。
3、执行命令:g++/gcc。
4、使用了g++和gcc命令。
五、g++、gcc这两个命令有啥区别?
误区一:gcc只能编译C代码,g++只能编译c++代码
俩个都可以
后缀为.c的,gcc把它当作是C程序,而g++当作是C++程序;后缀为.cpp的,俩个都会认为是C++程序
编译阶段 g++会调用gcc,对于c++代码,二者是等价的。但是因为gcc命令不能自动和C++程序使用的库链接,所以通常用g++完成链接。
误区二:gcc不会定义__cplusplus宏,而g++会
实际上,这个宏只是标志着编译器将会把代码按C还是C++语法来解释,如上所诉,如果后缀为.c并且采用gcc编译器,则该宏就是未定义的。否则就是已定义的。
误区三:编译只能用gcc,链接只能用g++
编译可以用gcc/g++,而链接可以用g++或者gcc -lstdc++.因为gcc命令不能自动和C++程序使用的库链接。g++会自动调用gcc二者等价。
误区四:extern "C" 与 gcc/g++有关系
实际上并没有关系,无论是gcc还是g++,用extern "C" 时,都是以C的命名方式来为symbol命名,否则都是c++方式命名。
实际上
g++ == gcc -xc++ -lstdc++ -shared-libgc
g++和gcc链接:https://blog.csdn.net/u013457167/article/details/80222557?ops_request_misc=&request_id=&biz_id=102&utm_source=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1