Spec-Zone.ru › Elisp

Переменные нативной компиляции

В этом разделе документированы переменные, которые управляют нативной компиляцией.

Параметр пользователя: native-comp-speed

Эта переменная задаёт уровень оптимизации для нативной компиляции. Её значение должно быть числом от -1 до 3. Значения от 0 до 3 задают уровни оптимизации, эквивалентные соответствующим опциям командной строки компилятора -O0, -O1 и т.д. Значение -1 означает отключение нативной компиляции: функции и файлы будут скомпилированы только в байт-код; однако файлы *.eln всё равно будут созданы, они просто будут содержать скомпилированный код в форме байт-кода. (Этого можно добиться на уровне функций, используя форму (declare (speed -1)), см. Форму объявления.) Значение по умолчанию равно 2.

Параметр пользователя: native-comp-debug

Эта переменная задаёт уровень отладочной информации, генерируемой нативной компиляцией. Её значение должно быть числом от нуля до 3 со следующим значением:

0

Вывод отладки отключён. Это значение по умолчанию.

1

Генерировать символы отладки вместе с нативным кодом. Это позволяет легче отлаживать нативный код с помощью отладчиков, таких как gdb.

2

Как 1, а также выводит псевдо-C код.

3

Как 2, а также выводит промежуточные этапы GCC и логирование libgccjit.

Параметр пользователя: native-comp-verbose

Эта переменная управляет подробностью вывода нативной компиляции, подавляя некоторые или все сообщения в журнале, выводимые ею. Если её значение равно нулю, как по умолчанию, все сообщения в журнале подавляются. Установка значения от 1 до 3 позволит включить логирование сообщений, уровень которых выше заданного значения. Значения имеют следующие интерпретации:

0

Логирование выключено. Это значение по умолчанию.

1

Записать финальное представление кода в формате LIMPLE.

2

Записать LAP, финальное LIMPLE и информацию о некоторых дополнительных этапах.

3

Максимальная подробность: записывать всё.

Параметр пользователя: native-comp-async-jobs-number

Эта переменная определяет максимальное количество подпроцессов нативной компиляции, которые будут запущены одновременно. Она должна быть неотрицательным числом. Значение по умолчанию равно нулю, что означает использование половины числа единиц выполнения ЦП или 1, если ЦП имеет только одну единицу выполнения.

Параметр пользователя: native-comp-async-report-warnings-errors

Если значение этой переменной не nil, предупреждения и ошибки от асинхронных подпроцессов нативной компиляции будут сообщены в основной сессии Emacs в буфере с именем *Warnings*. Значение по умолчанию t означает отобразить получившийся буфер. Чтобы записывать предупреждения без появления буфера *Warnings*, установите эту переменную в silent.

Распространённой причиной предупреждений при асинхронной нативной компиляции является компиляция файла, в котором отсутствует какая-то require необходимой функции. Функция может быть загружена в основной emacs, но так как нативная компиляция всегда начинается с подпроцесса с первоначальной средой, это может не быть справедливо для подпроцесса.

Параметр пользователя: native-comp-async-query-on-exit

Если значение этой переменной отлично от nil, Emacs спросит при выходе, нужно ли выйти и убить все асинхронные подпроцессы нативной компиляции, которые всё ещё выполняются, тем самым предотвращая запись соответствующих файлов .eln. Если значение равно nil, по умолчанию, Emacs убьёт эти подпроцессы без запроса.

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/Native_002dCompilation-Variables.html

Spec-Zone.ru

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