regex="x86-headers/([^/]*)/.*"
for f in x86-headers/*/C/populate.sh; do [[ $f =~ $regex ]] && echo "${BASH_REMATCH[1]}"; done
elf
gl
gmp
gnome2
gtk2
jni
libc
Короче говоря невыровненный адрес является одним из простого типа (т.е. целочисленная или переменная с плавающей точкой), который является больше затем (обычно) байт и не равномерно делимым размером типа данных, который каждый пытается считать.
Address % Size != 0
Скажите, что Вы имеете этот диапазон памяти и читаете 4 байта:
+---------- 8 % 4 = 0, OK
|
______+______
| |
... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--
* | @ | @ | @ | @ | * | * | * | * | @ | @ | @ | @ | * | * | *
--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--
|_______.______|
|
+--- 10 % 4 = 2, Unaligned
Больше по вопросу в Documentation/unaligned-memory-access.txt.
&
версия предпочтена по причине производительности как%
подразумевать дубликат умножения или разделения? – Alex 18.10.2013, 11:57