関数名取得のための正しい識別子の選択
C と C は、実行時にアクティブな関数の名前を取得するためのいくつかの識別子を提供します: __PRETTY_FUNCTION__ 、__FUNCTION__、および __func__。このガイドでは、これらの識別子の違いを説明し、その使用法に関するガイダンスを提供します。
__func__:
"__func__" は、次の内容を含む文字配列を表す C99 で導入された識別子です。関数の名前。これは各関数内で暗黙的に定義されます。 C では、C 11 で func が導入され、実装定義の文字列が提供されました。
__FUNCTION__:
"__FUNCTION__" は、 gcc や Visual C などのコンパイラでサポートされる標準拡張子。ただし、サポートされている場合は func を使用し、func が使用できない場合にのみ FUNCTION を使用することをお勧めします。
__PRETTY_FUNCTION__:
「__PRETTY_FUNCTION__」は__FUNCTION__ に似た gcc 固有の拡張子。 C 関数の場合、署名を含む「きれいな」名前が表示されます。 Visual C にも同様の拡張子 __FUNCSIG__ があります。
使用する識別子の決定:
選択はコンパイラのサポートと必要な関数名の形式によって異なります:
__func__: C99 §6.4.2.2/1
以上が実行時に関数名を取得するにはどの C/C 識別子を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。