我刚在我的macintosh上注意到这个。运行$ python
将触发具有以下行的解释程序会话:
$ python2.7
Python 2.7.10 (default, Feb 6 2017, 23:53:20)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
启动文本的第二行提到GCC和clang版本。
这两个与python解释器有什么关系?既然python是一种解释性语言,那么就不应该有编译器的低语,所以我很好奇为什么会出现这种情况。
下面是python3.6的相同之处:
$ python3.6
Python 3.6.0 (v3.6.0:41df79263a11, Dec 22 2016, 17:23:13)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
这次没有提到叮当声。为什么?
CPython解释器本身就是written in C。使用什么编译器将C代码转换为二进制可执行文件很重要;行为和性能可能会有细微的不同,因此在标题中提到了这一点。
您有两个不同的Python二进制文件,横幅中的差异反映了这些二进制文件在何处构建的不同。由于Python2.7版本是与OSX捆绑在一起的版本,所以它是由苹果工程师使用不同于Python3.6安装的工具链(使用clang compiler)构建的,而Python3.6安装必须是单独安装的(OSX还不包括Python3.6)。后者是用GCC compiler编译的。
相关问题 更多 >
编程相关推荐