6

私にはさまざまな機能があり、それらはすべて、次のような単純なprintfステートメントを使用して__func__います。

printf("%s - hello world!", __func__);

今私が直面している問題は、一部の関数で<unknown>は関数名の代わりに返されることです。

何故ですか?私は何か間違ったことをしていますか?AFAIK__func__は一部なc99ので、宣伝どおりに機能しない理由がわかりません。

Debian で GCC 4.7.2 を使用しています。

4

1 に答える 1

2

含めるヘッダーは、このバグと同様のことを行い__func__、次のように定義する必要があるようです。

define __func__ "<unknown>"

したがって、そのヘッダーを含めた場合にのみ表示されます。これをテストする簡単な方法は、動作しない__FUNCTION__コードのセクションでを使用することです。__func__次に、それを絞り込み、どのヘッダーに問題のあるロジックがあるかを突き止めて修正する必要があります。

于 2013-08-02T12:52:40.053 に答える