3 -- это зря. Если кто-то перехватил хоть раз какую-нибудь пару K1 и H1 он сможет неограниченно переходить к шагу 4. Это значит что он сможет нарушить работу нормальных ключей, заставляя замок генерировать новый H2.
> 1. Верно ли я понял, что при подстановке значения переменной мое экранирование не играло роли потому что баш разбил все на слова согласно значению переменной IFS?
Да, он разбил всё на слова согласно значению IFS. Но он всегда это делает вне двойных кавычек (из man bash, секция word splitting: The shell scans the results of parameter expansion, command substitution, and arithmetic expansion that did not occur within double quotes for word splitting). Проблема в том, что к кавычкам получившимся из расширения переменной это не относится. Т.е.
"a b" -- это одно слово, а Z='"a b"' ; $Z -- это два слова: "a и b".
> 2. В чем отличие между ${WHATTOBACK[@]} и "${WHATTOBACK[@]}" в данном случае?
Из man bash, секция Arrays: If the word is double-quoted, ... ${name[@]} expands each element of name to a separate word. Т.е. кавычки делают каждый элемент массива одним отдельным словом.
Павел Тананыхин: ну ок, положим, мы даже не знаем наверняка, x11 это, или что-то другое.
Запустите для начала sudo netstat -anpt | grep 600 чтобы посмотреть, что за процесс их открыл.
> Разница между -87 и -88 dBm существенно меньше меньше (примерно в 1.2 раза, к тому же там цифры порядка нановатт... так что разница в 1.2 уже не играет роли. ), чем между 15 и 14 dBm (примерно в два раза)
разница между -87 и -88 точно такая же, как между 15 и 14 -- 1dB, т.е. ~ в 1.2 раза.
> всё содержимое копируется в стек?
Не обязательно, но если реализация по стандарту, то копии std::string ведут себя независимо.
Когда копируется и куда копируется -- зависит от реализации.
> что такое строка
Строка, упомянутая рядом с вектором? std::string, или std::wstring, как у автора вопроса, наверно.
Массивов char в предоставленных огрызках исходников не видно.
> А компиляторы (ну, ... приличные, по крайней мере ;-) ) давно уже никто не пишет с кодогенераций в ассемблер Олег Цилюрик: ...и поэтому разработчику компилятора самому не нужно уметь писать на ассемблере?
> в инструкции RTL, например, как у GCC
Может быть вы знаете, как в gcc генерируются прологи и эпилоги функций, и почему RTL в этом не участвует?
abcyu ключевое слово -- периодических. Нет фиксированных прерываний 100/250/1000 раз в секунду. Сами таймерные прерывания никуда не деваются, просто происходят они ровно тогда, когда нужно.