最後の手段としてここに投稿します。私は完全に立ち往生しており、これをどこに持っていくべきかわかりません。この質問では、答えではなく方向性を探しています。
私は、実際には非常に一般的な課題のように見える在宅ワークの課題を持っています。質問は11 ページにあります。これは私の課題ではありませんが、Google で見つけたもので、私の課題と非常によく似ています。
私のインストラクターは、私たちが見る必要がある関連情報はヘッダービットであるというガイダンスを与えました.
以下を実行しているとします。free(0x400b010)
0x400b010
が含まれています0x400b601c
。
この 16 進数を 2 進数に分割すると、特に最後のダブル ワードでは、次のようになります。
0x1c = 0001 1100
全体:
0x400b601c = 0100 0000 0000 1011 0110 0000 0001 1100
私が理解できることから、1c
これはこのメモリがすでに解放されていることを示しています。最後のビットが 0 であるためです。この場合、free の動作は未定義になります。
しかし、私の電車は正確ですか?私はこれを正しい方向に持っていますか?