GCC与python解释器有什么关系?

2024-05-21 03:07:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚在我的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.
>>> 

这次没有提到叮当声。为什么?


Tags: orappleforinformationlicenseonmoretype
1条回答
网友
1楼 · 发布于 2024-05-21 03:07:45

CPython解释器本身就是written in C。使用什么编译器将C代码转换为二进制可执行文件很重要;行为和性能可能会有细微的不同,因此在标题中提到了这一点。

您有两个不同的Python二进制文件,横幅中的差异反映了这些二进制文件在何处构建的不同。由于Python2.7版本是与OSX捆绑在一起的版本,所以它是由苹果工程师使用不同于Python3.6安装的工具链(使用clang compiler)构建的,而Python3.6安装必须是单独安装的(OSX还不包括Python3.6)。后者是用GCC compiler编译的。

相关问题 更多 >