北川广海の梦

北川广海の梦

[杂谈] 浅谈SDK,Runtime

534
2020-01-11

作为软件行业的开发者, 想必一定对SDK这个词语耳熟能详。我们想要进行使用某个语言,某个平台进行开发,一定会先下载一个SDK。然后就能用各种方法,搭建起我们的第一个项目。

SDK

SDK的全称:Software Development Kit 软件开发工具包。里面几乎包含了我们进行软件开发所有的一切基础。包括基础类库,编译工具,甚至API文档等等。也就是说,想要进行开发,必须得有SDK才行。

Runtime

而Runtime,顾名思义,则是在运行时需要的东西。SDK一般会包含运行时,因为软件开发中不可避免会调试运行,谁也不能保证自己一次就能将所有代码写好。我们写好的程序,如果想要运行,必须要有他的依赖环境,这个环境就是Runtime。现在的主流语言,例如Java,C#,JavaScript,都是要依赖运行环境的。因为他们并没有被直接编译成机器码,计算机不能直接识别。所以,如果一位Java程序员给我开发了一个应用程序,我需要将他部署到我的服务器上,而在服务器上我不需要再对他进行调试,那么我只需要安装JRE(Java Runtime Environment)即可

静态编译

在C/C++ 开发中,我们就不再需要运行时环境了。因为几乎各个平台,都有他们对应的编译器,编译器会将程序直接编译成机器码(汇编是机器指令的助记符)。我们只需要写好代码,然后将程序编译到目标平台即可。然而这样的跨平台方式,仍然存在着对程序员的要求:程序员必须熟悉自己的目标平台。在C/C++ 中,不同平台的系统API存在着很大的差异。