Spec-Zone.ru › Elisp

Компиляция байткода

Emacs Lisp обладает компилятором, который преобразует функции, написанные на Lisp, в специальное представление, называемое байткодом, для более эффективного выполнения. Компилятор заменяет определения функций Lisp байткодом. Когда вызывается функция байткода, её определение оценивается интерпретатором байткода.

Поскольку байткодовый код оценивается интерпретатором байткода, а не выполняется напрямую аппаратным обеспечением компьютера (как это происходит с истинно скомпилированным кодом), байткод полностью переносим с одной машины на другую без повторной компиляции. Однако он не так быстр, как истинно скомпилированный код.

В общем случае любая версия Emacs может выполнять байткодовый код, сгенерированный предыдущими версиями Emacs, но обратное неверно.

Если вы не хотите, чтобы файл Lisp был когда-либо скомпилирован, поместите в него привязку локальной переменной файла для no-byte-compile, как показано ниже:

;; -*-no-byte-compile: t; -*-
• Скорость байткодаПример ускорения благодаря компиляции в байт-код.
• Функции компиляцииФункции компиляции в байт-код.
• Документация и компиляцияДинамическая загрузка строк документации.
• Динамическая загрузкаДинамическая загрузка отдельных функций.
• Вычисление во время компиляцииКод, который должен быть вычислен во время компиляции.
• Ошибки компилятораОбработка сообщений об ошибках компилятора.
• Объекты байткодаТип данных, используемый для байткодовых функций.
• Распаковка кодаРаспаковка байткода; как читать байткод.

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Byte-Compilation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API