__FUNCTION__
Linux でワイド文字として印刷する方法はありますか?
WIDEN のトリックは私にはうまくいきません。gcc コンパイラは次のように出力します: error: ?L_ FUNCTION _? このスコープで宣言されていませんでした
助けはありますか?ありがとう
__FUNCTION__
Linux でワイド文字として印刷する方法はありますか?
WIDEN のトリックは私にはうまくいきません。gcc コンパイラは次のように出力します: error: ?L_ FUNCTION _? このスコープで宣言されていませんでした
助けはありますか?ありがとう
マクロを使用して実行できます。マクロがどのように展開されるかを理解する必要があります。マクロのワイド char バージョンを取得するには、次のように 2 層のマクロを作成する必要があります。
#define WIDE2(x) L##x
#define WIDECHAR(x) WIDE2(x)
#define WIDE_FUNCTION WIDECHAR(__FUNCTION__)
最も重要な部分は、コンパイラが認識する前にLL##x
文字を文字列定数に追加することです。同じテクニックを使用してこれを行うこともできます。__FILE__
少なくとも正確なエラーメッセージを貼り付けた場合、これはまたは同様__FUNCTION__
の問題というよりもタイプミスのように見えます。widen()