IDE SDK 编译器 链接器 调试器 库等等环境配置时的名词解释及关系

visual studio 美国微软公司的开发工具包系列产品,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。


UML工具是什么:建模用的,建模就是建立模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。在编程前,对程序的结构进行计划。

IDE重点解释

IDE:集成开发环境IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器编译器调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSiteDreamWeaver等),因为很多项任务会自动生成。

IDE是编程最主要的工具,一般程序编译运行全部需要IDE的参与,屏蔽了编译时的细节,是以界面形式呈现的。

IDE区别于SDK的地方在于:SDK更底层。比如windows每出一个版本,就会推出一个SDK,因为只有这个SDK能提供编写使用新版本windows的功能,在新版本windows上运行的程序,说明SDK包含了一些在该系统上的接口/标准协议之类的(我猜的)

IDE主要有哪些:eclipse,visual studio等等。

IDE可以支持多种语言,比如visual studio预置支持了多种语言。而eclipse通过安装插件支持更多的语言。

IDE是编辑器,编译器,链接器, 调试器,(解释语言的解释器),还有各种库组合在一起形成的,各自可以剥离开来。

————————————————————————————————————————————————————————————


代码编辑器,类似于笔记本,只提供编辑功能,只是把语法用不同颜色标识出来,根据程序员习惯方便编写过程

编译器:简单讲, 编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级 语言)”的程序。一个现代编译器的主要工作流程: 源代码 (source code) →  预处理器 (preprocessor) →  编译器 (compiler) →  目标代码 (object code) →  链接器(Linker) → 可执行 程序 (executables)
高级计算机 语言便于人编写,阅读交流,维护。 机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言 源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。 源代码一般为高级语言 (High-level language), 如 Pascal、 C、 C++、 Java、 汉语编程等或 汇编语言,而目标则是机器语言的 目标代码(Object code),有时也称作机器代码(Machine code)。
对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。
链接器(Linker)是一个程序,将一个或多个由 编译器 汇编器 生成的目标文件外加库链接为一个 可执行文件
调试器 调试器的工作原理是基于 中央处理器 的异常机制,并由操作系统的异常分发\事件分发的子系统(或模块)负责将其封装处理后,以比较友好的方式与调试器进行实时交互。
每当调试器捕获到一个异常\事件之后,将会根据调试器的自身逻辑来判定是否需要接管这个异常\事件,并决定由调试器的哪个函数来接管。当调试器接管下来这个异常\事件后,将根据用户的需求对其进行进一步的处理,处理完毕后再通知系统已经处理完毕,此时新一轮的异常\事件捕获、分发循环开始。
解释器解释器( 英语 :Interpreter),又译为直译器,是一种电脑 程序 ,能够把高级 编程语言 一行一行直接转译运行。解释器不会一次把整个程序转译出来,只像一位“中间人”,每次运行程序时都要先转成另一种语言再作运行,因此解释器的程序运行速度比较缓慢。它每转译一行程序叙述就立刻运行,然后再转译下一行,再运行,如此不停地进行下去。
库文件即DLL(Dynamic Link Library)文件,是动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。[1] 

解释器和编译器的差别:  解释器是一条一条的解释执行源语言。比如php,postscritp,javascript就是典型的解释性语言。  

  编译器是把源代码整个编译成目标代码,执行时不在需要编译器,直接在支持目标代码的平台上运行,这样执行效率比解释执行快很多。比如C语言代码被编译成二进制代码(exe程序),在windows平台上执行。

也就是,解释器是读一条就执行一条,编译器是把程序全部翻译好了,让平台去执行,编译器的效率更高


当引用dll文件时,就可能会产生依赖。

依赖项

编辑
当某个程序或 DLL 使用其他 DLL 中的 DLL 函数时,就会创建依赖项。因此,该程序就不再是独立的,并且如果该依赖项被损坏,该程序就可能遇到问题。例如,如果发生下列操作之一,则该程序可能无法运行:
  • 依赖 DLL 升级到新版本。
  • 修复了依赖 DLL。
  • 依赖 DLL 被其早期版本覆盖。
  • 从计算机中删除了依赖 DLL。
这些操作通常称为 DLL 冲突。如果没有强制实现向后兼容性,则该程序可能无法成功运行。
GCC的意思并不是编译器,而是编译器的一种,
gcc 最开始的时候是 GNU C Compiler, 如你所知,就是一个c编译器。但是后来因为这个项目里边集成了更多其他不同语言的编译器,GCC就代表 the GNU Compiler Collection,所以表示一堆编译器的合集。 g++则是GCC的c++编译器。 虽然c++是c的超集,但是两者对语法的要求是有区别的
编译器还有:GCC、LLVM、OPEN64
思考:GCC和G++的关系

参考:http://blog.csdn.net/u012150179/article/details/23618575

https://www.zhihu.com/question/20940822

https://www.zhihu.com/question/19970105

http://www.cnblogs.com/sword03/archive/2010/06/27/1766147.html

你可能感兴趣的:(IDE SDK 编译器 链接器 调试器 库等等环境配置时的名词解释及关系)