甘肃哪里有卖百喜草种子的?

小说:甘肃哪里有卖百喜草种子的?作者:密海戏更新时间:2019-05-21字数:14894

“谁会死打过才知道。“油女志乃冷静无比,根本不会被勘九郎的挑衅而动怒火,让人头皮发麻的虫子开始飞出来了。

常用规格的紫藤多少钱一棵能买到【园艺师分享】

“传.销多low啊,我是搞成功学的。别墨迹了,时间不多,来吧大师,我已经洗干净等着了。”
“不是我们开炮的,韩长官,后面大批鬼子涌过来了,黑压压的一大片,还有坦克和装甲车!”韩非手下一个连长气喘吁吁的报告道,

“这里没有忧伤,没有烦恼,没有过去,没有未来,只有现在,尽情的体会这一次的旅游吧,你可是当今世上的人类里面唯一一个不需要太空船,太空服存在于宇宙中的人,也算是我送给你多次那么关心,八卦我的一份礼物,也算是临别的一份礼物,祝你忘却悲伤,心中再也不需要Forgetitbar。”

跨平台很神秘吗

刚刚开始做开发的时候,感觉跨平台是那么高大上,就像夕阳下,湖面上的一朵白莲花,只可远观,不可亵玩焉。那么,跨平台到底是怎么一回事儿。难道真的有什么东西可以跨平台吗,这就像一台多功能交通设备,投到水里能游,放到陆地上能跑,扔到天上能飞,加速到第二宇宙速度都能脱离地球了进行星际航行了。

揭开跨平台神秘面纱

让我们一起来揭开跨平台神秘的面纱,比起一种语言是不是跨平台的,我们更关心的是功能可不可以跨平台,毕竟我们使用各种开发语言是为了实现某些功能。举个例子,假设我们打算用 Java 开发了一款游戏,这个游戏要跨 Mac、Windows、桌面版Linux 三个平台,怎么完成这个功能呢。

假设要完成游戏中人物的显示,这样一个看似很简单的功能,程序从上层向下层要做下面这些:

1、最上层 Java 要调用一个图像相关的类库;

2、这个类库要调用系统层提供的接口,比如显卡驱动相关接口;

3、这个显卡驱动相关的接口又调用了显卡的硬件接口;

我们再从下向上分析一下,如果要做到跨平台要做到什么?

1、最后调用到了硬件接口,那么首先要保证硬件是相同的,比如显卡是相同的,这就要保证世界上各大显卡厂商使用相同的标准;

2、再往上保证显卡配套的显卡驱动接口是相同的;

3、再往上还要保证系统暴露给上层的驱动接口调用 API 是相同的,这就要求三个平台具有相同的驱动 API 标准;

通过以上我们发现一个语言可不可以跨平台要看它的下一层是不是跨平台,依次类推,最后总会到达硬件层次。最后得出的结论就是只有硬件是同一种标准,那才能实现真正意义上的跨平台。但是由于历史、商业等等各种原因,导致完全统一标准几乎是不可能的。

所以目前所说的语言跨平台、框架跨平台都是用其他方式实现的,并且我们可以把这里的平台理解为语言、框架的下一层级的载体。

几种语言的跨平台方式

比如说 HTML 是跨平台的,他跨的平台指的是浏览器,浏览器几乎都遵循 w3c 标准,所以 HTML 是这样实现跨平台的。

比如说 C 语言是不是跨平台的,C 语言常常被用在偏底层的开发。那么 C 语言是如果在多个平台运行的呢?首先要编写代码,编写的代码要兼容要跨的平台,要支持 windows 平台,那么就要为 windows 实现一套代码,要支持 Linux 就要为 Linux 实现一套,然后当要执行的时候,简单粗暴的说就是加上 if else做个判断,是哪个平台就用其对应的代码,著名的 GUI 开发框架 Qt j就是这个原理嘛,框架本身帮你做好了平台判断,在哪个平台就用哪个平台下的 GUI 接口,所以开发者只需要调用它包装包的接口即可。写完代码之后,拿这套代码到各个平台去编译成当前平台需要的格式,这里又涉及到了编译器,不同平台下的编译器也是不同, windows 下的编译器需要把 C 代码编译成 windows 下可执行的文件格式,Linux 下的编译器需要把 C 代码编译成 Linux 下的可执行文件格式。

再比如说 Java , Java 的口号是 Write once, run anywhere,也就是一次编写,到处运行(跨平台运行)。听上去比 C 语言还要厉害,写一次就好,不用再到各个平台上去编译,厉害了。这都要归功到 JVM(Java 虚拟机)上,JVM 有他自己的字节码格式和具体的执行机制,只要把 Java 代码编译成 JVM 需要的字节码即可。以开发者的视角,确实是跨平台了。但是具体是怎么实现的呢?首先我们安装 JDK 的时候会根据平台不同选择不同的版本,当然 JVM 也就选择了不同的版本,而代码要执行的时候,不同平台版本的 JVM 会根据自身所在的平台,把字节码转换成平台所需的机器码。看着是不是很眼熟,这不就是 C 语言里不同平台的编译器吗。

回到最开始提到的那个交通设备,真的要把把它做出来,那要具备涡轮一类的推水装置、 路面行走的轮子、喷气式装置,甚至核能推进器。总结起来就是说,要跨平台就要有对应平台的功能实现。作为开发者来说,我们使用的一些语言或框架可以方便的跨平台,不需要我们关系细节,是因为语言或框架本身帮我们做了繁杂的适配工作。

揭开跨平台的面纱,是不是感觉这概念没那么神秘了。

欢迎关注公众号「gushidefengzheng」古时的风筝

编辑:辛陵平安

发布:2019-05-21 00:07:52

当前文章:http://www.scycxh.com/oc9d1.html

3月份可以栽植红花草吗? 北方地区美人蕉花期是几月? 紫藤怎样提高成活率? 福建的麦冬草都在哪里买的? 独家报道:听说红的发紫的卫矛,江苏全年大量供应哦 四川有黑松的种植基地吗? 澳洲火焰木种子几月播种最好? 欧李种子多少钱一斤?

47885 68721 15315 46760 80748 48337 52895 93477 71470 50396 80402 74741 92578 50961 33444 18703 33990 38712 53870 31651

我要说两句: (0人参与)

发布