Visual Studio2017のVisualC++(正確には15.5.6)で遊んでいると、GCCの__PRETTY_FUNCTION__
が機能しているように見えることに気付きました。 -少なくともある程度は…
それでも、__PRETTY_FUNCTION__
を使用してコードをコンパイルすると、エラーが発生します。
error C2065: '__PRETTY_FUNCTION__': undeclared identifier
それで、それをVisual C++で機能させる方法はありますか?いくつか含まれていますか?またはいくつかの特別なコンパイル設定? (私はデフォルトのものを使用していると思います。)なぜそれは示されている例では機能するのに、実際には機能しないのでしょうか?!
__PRETTY_FUNCTION__
の代わりとなるVisualC++を探していないことに注意してください。私はすでにそれらを知っています。ここでの動作に驚いて興味があります。
それで、それをVisual C++で機能させる方法はありますか?いくつか含まれていますか?またはいくつかの特別なコンパイル設定? (私はデフォルトのものを使用していると思います。)なぜそれは示されている例では機能するのに、実際には機能しないのでしょうか?!
番号。
Visual Studioは、Visual C++チームブログの Intellisenseの再構築 および ここ で説明されているように、InteliSenseの Edison Design Group C++フロントエンドを使用します。 Microsoft C++コンパイラではありません。これは、Intellisenseで使用できる機能の一部がコンパイル時に使用できないことを意味します。
EDGの C++フロントエンドドキュメント は、71ページの__PRETTY_FUNCTION__
のようなGCCの事前定義の一部をサポートしていると述べています-「1.13事前定義されたマクロ」とMicrosoftの__FUNCSIG__
。
__EDG_VERSION__
と入力してカーソルを合わせると、EDGのバージョンを確認することもできます。