• ベストアンサー

C/C++言語で変数名から変数のアドレスを取得する

C/C++言語で変数名から変数のアドレスを取得する方法があれば、ご教示願います。 例えばですが、関数GetProcAddress()は、関数の文字列からエクスポート済みの関数のアドレスを戻り値で返しています。 GetProcAddress()と同じようにアドレスを取得したい変数名の文字列を渡して、変数のアドレスを取得したいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hiodraiu
  • ベストアンサー率15% (451/2846)
回答No.2

エクスポートのように、実行モジュールになったあともシンボル情報を参照できるような仕組みを持ったものなら可能ですが、一般的には、ローカル変数はコンパイル時に、グローバル変数はリンク時に、アドレス値に置き換わります、シンボル情報は残りません。

gliper
質問者

補足

ご回答ありがとうございます。 そもそもコンパイルした時点で、シンボル情報が無くなってしまうなら、無理ですね。 勉強になりました。

その他の回答 (3)

  • furafurax
  • ベストアンサー率35% (5/14)
回答No.4

変数ABCDのアドレスは,関数を使わないで &ABCDで得られます。

gliper
質問者

補足

ご回答ありがとうございます。 質問内容にも書かせていただきましたが、 文字列で変数名を指定して、変数のアドレスを取得できるような関数もしくは、処理が知りたいです。

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.3

では、 変数名定義 と、言うか 其れの、マップ域 から 任意特定の、文字列を 名前定義と、して 持つ、ものを 捜し 其処に、記載の メモリーマッピング位置を 取得する 其の様な、のを 探している と、言う事 ですか?

gliper
質問者

補足

そうです。

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.1

此じゃ、無しに ですか? https://www.sgnet.co.jp/c/6-1.html

gliper
質問者

補足

Noubleさん。 ご回答ありがとうございます。 リンク先を見てみましたが、知りたいことが見当たりませんでした。すみません。 また、下名の質問内容も説明不足でした。 具体的に例をあげますと、 変数ABCDがあるとします。 変数ABCDの変数名を渡して、変数ABCDのアドレスを取得できる関数があるのかが知りたいです。 関数A("ABCD")というように変数名を引数で渡すと、変数ABCDのアドレスが取得できる。 というようなことができないかな。と、考えています。

関連するQ&A

専門家に質問してみよう