分享

为什么python是跨平台的,而它的某些包不是跨平台的,需要根据不同的平台另外编写?

 昵称11935121 2018-04-06

首先,我给你介绍一下可以跨平台和不可以跨平台是为什么,有什么区别。

举个例子,c语言,有时候被称作中级语言,因为它既不是完全的低级语言,又算不上高级语言。在很大程度上,它也被称作不能跨平台的(或者说是源码级可以跨平台)。



为啥这样呢?

因为每种CPU架构的的指令集不一样,所以如果c语言编译成了二进制文件(也就是机器码),那么它只能在对应的机器上运行了。

那为什么说c在源码级可以跨平台呢?

因为每个平台都支持编译c语言,所以c语言在不同平台上面编译的最终二进制文件是不一样的,所以看作是源码级别的跨平台。

为啥Python可以跨平台?



因为Python是将这些自己的指令,最终转换成了c语言指令集,然后再c语言的指令集再进行编译为机器码,然后运行,这也是为什么python的性能差的原因了(当然,有很多提速的办法)。

那么为什么有的包不可以跨平台呢?



因为很多包是由c语言(还有其他的很多语言)来写的,那么这些语言所编译的二进制文件无法跨平台,所以,python的包无法跨平台。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多