Я знаю, что в соответствии со стандартом C не разрешается выполнять чтение без знака, так как это может привести к SIGBUS
.Как узнать, безопасно ли читать данные с неаудированных адресов памяти на моей машине?
Тем не менее, я видел некоторые машины, где это не проблема.
Как узнать, можно ли безопасно читать из неосновной памяти на моей машине? В частности, я использую Amazon Linux.
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 60
Stepping: 3
CPU MHz: 800.000
BogoMIPS: 7981.41
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0-7
Если вы не поймали кражу автомобиля, ворует автомобиль, разрешенный? – Olaf
Думаю, это очень хорошо: https://www.kernel.org/doc/Documentation/unaligned-memory-access.txt – Ctx
Это никогда не бывает безопасным, просто доверяйте стандарту (можете ли вы указать или предоставить ссылку к заявлению, о котором вы говорите?) – Bludzee