20

ポインタが次の場所を指しているかどうかを調べる方法はありますか:

  • スタック
  • ヒープ
  • またはプログラム(もしそうなら、どのセクション、例えばelf .text)?

また、これはポータブルに実行できますか (Linux 64/32 ビット、OSX および Windows 7+)?

ファローアップ:

何かがmallocされているかどうかを調べようとしているわけではありません。

プログラム内の関数への void* ポインターと、スタックまたはヒープ上のデータへの void* ポインターを効率的に区別したいと考えています。

これは、「通常の」C プログラムではなく、C で記述された言語ランタイム用です。

この回答はこれまでで最も役に立ちました: Checking if something was malloced

4

2 に答える 2