1
タイトルはそれをすべて言っています。機能の裸の名前 なぜVisual Studio 2010コンパイラは__func__を知らないのですか?
__FUNCSIG__
:__FUNCDNAME__
(戻り値の型およびパラメータを持つ)関数の完全な名前:関数の符号化名しかし、それはないが__func__
それは
__FUNCTION__
知っていますpart of the C99 standardです。コードがプラットフォームに依存しないようにしたいので、上記のいずれかを使用することを躊躇します。アドバイスはありますか?ありがとうございました!
マイクロソフトは非常に最近(部分的に)C99をサポートし始めました。あなたはVS 2015にアップグレードする必要があります。 –
VS2015ではうまく動作します。あなたのVSバージョンが古く、VS2010がgccで確かに老齢であるなら、いいえ、あなたはC99に従うことはできません。クロスプラットフォームのコードは常に#ifで覆われています。あなたは '_MSC_VER'と' #define __func__ __FUNCTION__'をチェックするために別のコードが必要です。または更新すると、遅かれ早かれ早めに更新する必要があります。 –