Что означает "мертвая говядина"?

Что означает слово "мертвая говядина"? Я прочитал его из интервью. Это как-то связано с ipv6. Я полагал, что это может быть случайный шестнадцатеричный номер, используемый для примеров, например "Быстрая коричневая лиса прыгает через ленивую собаку".

Правильно ли я понимаю? Или это имеет более существенный смысл?

Ответ 1

http://en.wikipedia.org/wiki/Hexspeak
http://www.urbandictionary.com/define.php?term=dead%3Abeef

"Dead beef" - ​​очень популярное предложение в программировании, потому что оно построено только из букв a-f, которые используются в шестнадцатеричной нотации. Колонны в начале и в середине предложения делают это предложение (теоретически) действительным адресом IPv6.

Ответ 2

Это выраженное выражение, использующее только буквы A-F, часто используемые, когда требуется распознаваемое шестнадцатеричное число. Некоторые системы используют его для различных целей, таких как показ памяти, которая была освобождена и не должна упоминаться снова. В отладчике это значение может быть признаком того, что вы сделали ошибку. Из Wikipedia:

0xDEADBEEF ( "мертвая говядина" ) используется системами IBM RS/6000, Mac OS на 32-битных процессорах PowerPC и Commodore Amiga в качестве магического значения отладки. В Solaris Solar Microsystems он отмечает освобожденную память ядра. В OpenVMS, работающем на процессорах Alpha, DEAD_BEEF можно увидеть, нажав CTRL-T.

Число 0xDEADBEEF равно менее узнаваемому десятичному числу 3735928559 (без знака) или -559038737 (подписано).

Ответ 3

Значение 0xDEADBEEF имеет три практических преимущества, в основном для старых систем. Старый ассемблер/C-хаки, как и я, использовал бы его для заполнения нераспределенной памяти, чтобы уладить проблемы с памятью. Кроме того, это каламбур сленгового термина "мертвое мясо". Программист - это мертвое мясо, если DEADBEEF завершается в своих указателях. Я поздравляю парня, который сначала подумал об использовании ценности DEADBEEF. Это умно во многих отношениях.

Как по практическим соображениям, во-первых, он более заметен в дампе с шестнадцатеричной памятью, потому что на самом деле он произносит слова в отличие от случайных шестнадцатеричных значений.

Во-вторых, если значение задерживается в указателе, оно скорее всего вызовет ошибку памяти вне диапазона. Адрес DEADBEEF вышел из диапазона адресов систем (мы говорим о системах прошлого века) независимо от системного endian.

В-третьих, это скорее вызовет ошибку в системах, для которых требуются даже значения указателя границы для доступа к 16/32/64-битным данным. Значение имеет большую вероятность ошибки, поскольку оба из 16-битных значений (DEAD, BEEF) являются нечетными.

Ответ 5

Так как IPv6-Адреса записаны в Hex-нотации, вы можете использовать "Hexspeak" (цифры 0-9 и буквы a-f) в адресах.

Есть несколько слов, которые вы можете использовать в качестве действительных адресов, чтобы лучше их модерировать.

Если вы ping6 www.facebook.com -n, вы получите что-то вроде "2a03: 2880: f01c: 601: face: b00c: 0: 1".

Вот несколько примеров:

  • : affe:: (Affe - German for Monkey - рассматривается в vlan для правления)
  • : 1bad: babe:: (один плохой младенец - замечен в smtp-honeypot)
  • : badc: ab1e:: (плохой кабель - рассматривается как подсеть для незащищенного vlan)
  • : da7a:: (Данные - для файловых серверов)

Ответ 6

Обычно люди используют его для указания фиктивных значений. Я думаю, что прежде всего он использовался до идеи указателей NULL.

Ответ 7

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

Ответ 8

Он использовался как шаблон для хранения в памяти как серии шестнадцатеричных байтов (0xde, 0xad, 0xbe, 0xef). Вы могли видеть, повреждена ли память из-за сбоя оборудования, переполнения буфера и т.д.

Ответ 9

0xDEADBEEF обычно заполняется массивами памяти, поэтому любое исключение, если оно ошибочно указано или знать буфер за прогоны и т.д.,