GCC、Unicodeおよび__FUNCTION__

c++ gcc unicode
GCC、UnicodeおよびFUNCTION

GCCでプロジェクトをコンパイルしようとしています(Visual Studioは問題なくコンパイルします)。

wstringメッセージをスローするカスタムのアサート関数があります。 その一部は_ _FUNCTION__マクロです。これは、MSDNのWIDENマクロを使用して「統一」します。

#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)

MSVCでは大丈夫ですが、GCCでは次のように出力されます。

error: ‘L__FUNCTION__’ was not declared in this scope

mbstowcsを使用してランタイムでFUNCTIONの内容をwstringに変換することしかできませんが、コンパイル時の方法を見つけたいと思います。

手伝ってくれてありがとう。

  5  1


ベストアンサー

GCCでは、 `FUNCTION`は非標準の拡張です。 引用するには:http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html[GCC Online Docs]

_
GCC 3.3以前では、Cのみで、
FUNCTION`と

5


タイトルとURLをコピーしました