プロが教えるわが家の防犯対策術!

C/C++言語で変数名から変数のアドレスを取得する方法があれば、ご教示願います。

例えばですが、関数GetProcAddress()は、関数の文字列からエクスポート済みの関数のアドレスを戻り値で返しています。
GetProcAddress()と同じようにアドレスを取得したい変数名の文字列を渡して、変数のアドレスを取得したいです。

よろしくお願いします。

A 回答 (2件)

無理です。



C/C++ はコンパイルした時点で変数名は捨てられて自動採番の識別子に置き換えられるので。

ただし、「どうしても変数名から」というときのために「マクロ引数の文字列化」を巧みに利用してそれらしい挙動をさせるためのコードはよく見ます。
詳しくはググってください。

参考になればよろしいんですが。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
「マクロ引数の文字列化」ですか??
んー。調べてみます。
ありがとうございます。

お礼日時:2017/04/10 00:38

処理系によらない一般的な方法は存在しない.



ただし処理系によっては可能で, 例えば Win32 だと GetProcAddress って関数があるらしい.
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。GetProcAddressは、関数のみなので、無理ですよね。

お礼日時:2017/04/10 00:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!