明らかな質問をしている場合はご容赦ください。しかし、たくさんのスレッドを調べて試してみたところ、この単純なことを特定することはできません。
私はこの小さなプログラムを持っています:
#define FUNC_PREFIX __FUNCTION__ "() :"
int main()
{
printf("%s\n", FUNC_PREFIX);
return 0;
}
FUNC_PREFIX
したがって、ログ関数の代わりに渡すことができ__FUNCTION__
ます。ログ関数の出力の可読性を向上させるために、呼び出し元の関数名の後にパレンとコロンが続きます。
これは、Visual Studio 2008でそのまま正常にコンパイルされます。しかし、g++
では、文字列定数の前に「)」と予想されるエラーが発生します。
私は次のようないくつかのことを試みました:
#define TEMP __FUNCTION__
#define FUNC_PREFIX TEMP "() :"
しかし、役に立たない。
これを行う方法は何ですか?