5

__FUNCTION__Linux でワイド文字として印刷する方法はありますか?

WIDEN のトリックは私にはうまくいきません。gcc コンパイラは次のように出力します: error: ?L_ FUNCTION _? このスコープで宣言されていませんでした

助けはありますか?ありがとう

4

3 に答える 3

-1

マクロを使用して実行できます。マクロがどのように展開されるかを理解する必要があります。マクロのワイド char バージョンを取得するには、次のように 2 層のマクロを作成する必要があります。

#define WIDE2(x) L##x
#define WIDECHAR(x) WIDE2(x)

#define WIDE_FUNCTION WIDECHAR(__FUNCTION__)

最も重要な部分は、コンパイラが認識する前にLL##x文字を文字列定数に追加することです。同じテクニックを使用してこれを行うこともできます。__FILE__

于 2014-08-26T18:33:21.187 に答える
-2

少なくとも正確なエラーメッセージを貼り付けた場合、これはまたは同様__FUNCTION__の問題というよりもタイプミスのように見えます。widen()

于 2011-01-23T13:13:36.920 に答える