「デッドビーフ」という言葉はどういう意味ですか?面接の質問から読みました。それはipv6と関係があります。「速い茶色のキツネが怠惰な犬を飛び越える」などの例に使用されるランダムな16進数である可能性があると考えました。
私の理解は正しいですか?それとももっと重要な意味がありますか?
「デッドビーフ」という言葉はどういう意味ですか?面接の質問から読みました。それはipv6と関係があります。「速い茶色のキツネが怠惰な犬を飛び越える」などの例に使用されるランダムな16進数である可能性があると考えました。
私の理解は正しいですか?それとももっと重要な意味がありますか?
http://en.wikipedia.org/wiki/Hexspeak
http://www.urbandictionary.com/define.php?term=dead%3Abeef
「デッドビーフ」は、16進表記で使用される文字afのみで構成されているため、プログラミングで非常に人気のある文です。文の最初と途中のコロンは、この文を(理論的には)有効なIPv6アドレスにします。
0xDEADBEEFの値には、主に古いシステムにとって3つの実用的な利点があります。私のような古いアセンブラ/Cハックは、それを使用して未割り当てのメモリを埋め、メモリの問題を解決していました。また、俗語「死んだ肉」の駄洒落です。DEADBEEFが彼のポインターにたどり着いた場合、プログラマーは死んだ肉です。値DEADBEEFの使用を最初に考えた人を祝福します。それは多くの点で賢いです。
実用的な理由として、まず、ランダムな16進値ではなく実際に単語を綴るため、16進メモリダンプでより目立ちます。
次に、値がポインタに到達すると、メモリの範囲外の障害が発生する可能性が高くなります。DEADBEEFのアドレスは、システムのエンディアンに関係なく、システムのアドレス範囲外でした(現在は前世紀のシステムについて話しています)。
第3に、16/32/64ビットデータにアクセスするために境界ポインタ値さえも必要とするシステムで障害が発生する可能性が高くなります。16ビット値(DEAD、BEEF)の両方が奇数であるため、値が失敗する可能性が高くなります。
これは、文字AFのみを使用して構成された式であり、認識可能な16進数が必要な場合によく使用されます。一部のシステムでは、解放されたため再度参照してはならないメモリを表示するなど、さまざまな目的で使用します。デバッガーでは、この値が表示されるのは、エラーが発生したことを示している可能性があります。ウィキペディアから:
0xDEADBEEF(「デッドビーフ」)は、IBM RS / 6000システム、32ビットPowerPCプロセッサ上のMac OS、およびCommodoreAmigaによって魔法のデバッグ値として使用されます。Sun MicrosystemsのSolarisでは、解放されたカーネルメモリをマークします。Alphaプロセッサで実行されているOpenVMSでは、CTRL-Tを押すとDEAD_BEEFが表示されます。
数値0xDEADBEEFは、認識しにくい10進数の3735928559(符号なし)または-559038737(符号付き)と同じです。
IPv6-アドレスは16進表記で記述されているため、アドレスでは「Hexspeak」(0〜9の数字とafの文字)を使用できます。
それらをよりよく暗記するために有効なアドレスとして使用できる単語がいくつかあります。
「2a03:2880:f01c:601: face:b00c:0:1」ping6 www.facebook.com -n
のようなものが表示される場合。
ここではいくつかの例を示します。
また、デバッグ目的にも使用されます。
これらの値のいくつかの便利なリストを次に示します。
http://en.wikipedia.org/wiki/Magic_number_%28programming%29#Magic_debug_values
人々は通常、ダミー値を示すためにそれを使用します。これは主に、NULLポインターが考えられる前に使用されていたと思います。
たまたま英語でも読めるので目立つので色んな所で使われているマジックナンバーです。ウィキペディアに部分的なリストがあります。
これは、一連の16進バイト(0xde、0xad、0xbe、0xef)としてメモリに格納するためのパターンとして使用されました。ハードウェア障害、バッファオーバーランなどが原因でメモリが破損していないかどうかを確認できます。