私は、プログラムのメモリ内の構造体へのポインタを探しています。これは、互いに4バイト離れていますが、その量は変わる可能性があります。私は、構造体の後に、ポインタではない他の変数が来ていることは間違いないと確信しています。メモリ内の変数がポインタであるかどうかをどのように知ることができますか?
私はポインタとしてその次の変数を使用しようとした場合、それは私が探している構造体のGetProcessMemory(私はこれをC++ btwでやっている)が失敗する最高のオフセットを適用すると思ったそれは私が探しているものではなく、私が探している構造体へのポインタの "リスト"がそこで終わることを知っています。
しかし、次の変数が別の有効な構造体を指し示す値を持ち、でない場合は、が失敗する可能性があるので、これは信頼できないように思われるので、より良い方法があるかどうか尋ねています。
CheatEnglineはそれをきれいにしているようですが、何が欠けていますか?
ありがとうございます。
完全に信頼できる方法はありません。構造型のアラインメントや、ヒープとスタックに使用されるアドレス範囲などのヒューリスティックだけです。 – Barmar
あなたは 'typeid(variables).name()'を使ってタイプを得ることができます – Raindrop7
@ Raindrop7いいえ、できません。 –