Можно использовать команду apropos
для поиска ключевых слов в установленных справочных страницах:
$ apropos builtin
bash-builtins (7) - bash built-in commands, see bash(1)
builtins (7) - bash built-in commands, see bash(1)
$ apropos __builtin_popcount
__builtin_popcount: nothing appropriate.
$
Не похоже, что для этого расширения GCC существует справочная страница. Я думаю, что вам придется использовать онлайн-документацию вместо:
- встроенная функция: int __builtin_popcount (неподписанная int x)
Возвращает число 1-бит в x.
-121--228739-
Только для записи, правильный xargs -0
использование:
find . -inum 12321475 -print0 | xargs -0 -I '{}' mv '{}' new-filename
, но
-121--47462-
Другие ответы интересны, но никто не ответил на вопрос OP: не имея какой-либо конкретной настройки, почему некоторые терминалы показывают разное поведение?
Консоль Linux давно (с начала 1990-х) отображала цвет для интересных атрибутов видео, которые она не поддерживает. @ Incnis mr.
меньших
переменных среды интересны, но не часто используются. Некоторые другие терминалы могут отображать атрибуты видео в виде цветов; xterm может, установив ресурсы colorUL
и colorULMode
(и кажется, что часто дистрибутивы на основе Red Hat настраивают его таким образом). Аналогично, rxvt может (также на основе ресурсов, хотя и менее конфигурируемый).
Регистр указателя стека является аппаратным регистром. Он указывает на ячейку памяти *, которая находится в области, используемой для стека. Регистр указателя стека используется при адресации данных в стеке.обычно увеличение или уменьшение значения указателя до или после доступа к памяти. Проверка, которая выполняется, когда происходит системный вызов, проверяет, указывает ли регистр на действительный адрес стека. «Оппортунистически» не означает «необязательно».
[ *] :действительный адрес также может быть на единицу позже последнего адреса страницы стека на некоторых архитектурах.
Каждый поток имеет стек. Стек — это особая область памяти, используемая потоком для хранения локальных переменных. адрес возврата функции и т. д. Когда ЦП выполняет поток, его регистр (SP )должен указывать на адрес памяти со стеком.
В большинстве случаев ядро выделяет стек потока, но иногда стеки создаются приложением :Приложения могут создавать собственный стек для кода обработчиков сигналов (, который выполняется, когда ядро отправляет сигнал процессу ). или они могут сделать это для реализации библиотеки потоков.
Для этого приложение запрашивает у ядра область памяти, а затем помечает ее как стек, чтобы ядро знало, что эта область является стеком. Но из-за ошибок разработчиков приложение может запросить у ядра часть памяти для стека, которая не была зарегистрирована для него. тот. В этом случае может произойти что-то плохое :ядро может перезаписать полезные данные, потому что думает, что пишет в стек, но оно это не стек! Хакеры могут использовать его для взлома программ.
В OpenBSD, когда вы резервируете память (с помощью mmap, например ), вы должны ЯВНО сказать, что:
Сценарий солнечного дня:
Сценарий дождливого дня:
Вот еще несколько примеров таких флагов:
PROT _EXEC :просит ядро зарезервировать память для хранения кода (что-то, что ЦП может выполнить )PROT _WRITE :просит ядро зарезервировать память для записываемых данных
Таким образом, вы не можете выполнить свои данные или записать в свой код (это называется W^X и люди OpenBSD гордятся этим)
Вы можете прочитать man mmap
и map sigaltstack
для получения дополнительных примеров