CPython является интерпретатором байт-кода?

Boost 1.58 был только что выпущен, и его библиотека Container имеет класс small_vector , основанный на LLVM SmallVector.

Существует также static_vector, который не может вырасти выше первоначально заданного размера. Оба контейнера предназначены только для заголовков.

В библиотеке Facebook folly также есть несколько потрясающих контейнеров.

Он имеет small_vector , который может быть настроен с параметром шаблона, чтобы действовать как векторы static или small повышения. Он также может быть сконфигурирован для использования маленьких целочисленных типов для ведения бухгалтерского учета внутреннего размера, что, учитывая, что они являются facebook, неудивительно:)

Ведется работа по созданию межплатформенной библиотеки, поэтому поддержка Windows / MSVC должна быть когда-нибудь ...

9
задан Nope 29 October 2009 в 16:03
поделиться

2 ответа

CPython is the implementation of Python in C. It's the first implementation, and still the main one that people mean when they talk about Python. It compiles .py files to .pyc files. .pyc files contain bytecodes. The CPython implementation also interprets those bytecodes. CPython is not written in C++, it is C.

The compilation from .py to .pyc happens transparently as needed. When you execute a .py file, it will first be compiled to a .pyc file if needed, then the .pyc file will be interpreted.

Jython is different because (in addition to being implemented in Java instead of C) it compiles .py files into .class files so they can be executed in the JVM.

14
ответ дан 4 December 2019 в 06:49
поделиться

CPython - это и компилятор байт-кода, и интерпретатор (виртуальная машина).

Он автоматически определяет отсутствие существующего файла предварительного компилятора (.pyc), компилирует код и сохраняет его из.

8
ответ дан 4 December 2019 в 06:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: