「死んだ牛」という言葉はどういう意味ですか?インタビューの質問から読んだ。ipv6と関係があります。「怠惰な犬を飛び越えた茶色いキツネ」のように、ランダムな16進数の数値である可能性があると考えました。
私の理解は正しいですか?それとももっと重要な意味がありますか?
「死んだ牛」という言葉はどういう意味ですか?インタビューの質問から読んだ。ipv6と関係があります。「怠惰な犬を飛び越えた茶色いキツネ」のように、ランダムな16進数の数値である可能性があると考えました。
私の理解は正しいですか?それとももっと重要な意味がありますか?
回答:
http://en.wikipedia.org/wiki/Hexspeak
http://www.urbandictionary.com/define.php?term=dead%3Abeef
「デッドビーフ」は、16進表記で使用されるa〜fの文字からのみ作成されるため、プログラミングで非常に人気のある文です。文の始めと途中のコロンは、この文を(理論的には)有効なIPv6アドレスにします。
これは、AFという文字のみを使用して作成された表現であり、認識可能な16進数が必要な場合によく使用されます。一部のシステムでは、解放されたメモリを再度表示する必要がないことを示すなど、さまざまな目的で使用します。デバッガーでこの値が表示されるのは、エラーが発生したことを示している可能性があります。ウィキペディアから:
0xDEADBEEF(「デッドビーフ」)は、IBM RS / 6000システム、32ビットPowerPCプロセッサーのMac OS、およびCommodore Amigaでマジックデバッグ値として使用されます。Sun MicrosystemsのSolarisでは、解放されたカーネルメモリをマークします。Alphaプロセッサで実行されているOpenVMSでは、CTRL-Tを押すとDEAD_BEEFが表示されます。
数値0xDEADBEEFは、認識しにくい10進数3735928559(符号なし)または-559038737(符号付き)と同じです。
0xDEADBEEFの値には、主に古いシステムに対して、3つの実用的な利点があります。古いアセンブラ/ Cハックは、私のように、それを使用して未割り当てメモリを埋め、メモリの問題を解決していました。また、「死んだ肉」という俗語の俗語です。プログラマーは、DEADBEEFが彼のポインターに近づくと死んでしまいます。値DEADBEEFの使用を最初に考えた人におめでとう。それは多くの点で賢いです。
実際的な理由としては、まず、ランダムな16進値ではなく実際に単語をスペルするため、16進メモリダンプでより顕著になります。
第2に、値がポインタに巻き込まれると、メモリの範囲外の障害が発生する可能性が高くなります。DEADBEEFのアドレスは、システムのエンディアンに関係なく、システム(ここでは前世紀のシステムについて話している)のアドレス範囲外でした。
第3に、16/32/64ビットのデータにアクセスするために境界ポインター値さえ必要とするシステムで障害を引き起こす可能性が高くなります。16ビット値(DEAD、BEEF)の両方が奇数であるため、この値はフォールトする可能性が高くなります。
IPv6-Adressesは16進表記で記述されているため、Adressesで「Hexspeak」(0〜9の数字とa〜fの文字)を使用できます。
それらをよりよく覚えるために有効なアドレスとして使用できる単語がいくつかあります。
ping6 www.facebook.com -n
「2a03:2880:f01c:601:face:b00c:0:1」のようなものを取得する場合。
ここではいくつかの例を示します。
デバッグの目的でも使用されます。
これらの値のいくつかの便利なリストを次に示します。
http://en.wikipedia.org/wiki/Magic_number_%28programming%29#Magic_debug_values
0xDEADBEEFは通常、メモリアレイに書き込まれているため、誤ってポイントされた場合や、バッファオーバーランなどが発生した場合に例外が発生します。