Auswahl des richtigen Bezeichners für die Funktionsnamenerfassung
C und C bieten mehrere Bezeichner zum Abrufen des Namens der aktiven Funktion während der Laufzeit: __PRETTY_FUNCTION__ , __FUNCTION__ und __func__. In diesem Leitfaden werden die Unterschiede zwischen diesen Bezeichnern untersucht und Hinweise zu ihrer Verwendung gegeben.
__func__:
„__func__“ ist ein mit C99 eingeführter Bezeichner, der ein Zeichenarray darstellt, das Folgendes enthält der Name der Funktion. Es ist implizit in jeder Funktion definiert. In C wurde func in C 11 eingeführt und bietet eine durch die Implementierung definierte Zeichenfolge.
__FUNCTION__:
"__FUNCTION__" ist eine vorgefertigte Zeichenfolge. Standarderweiterung, die von Compilern wie gcc und Visual C unterstützt wird. Es wird jedoch empfohlen, func zu verwenden, sofern dies unterstützt wird, und FUNCTION nur, wenn func nicht verfügbar ist.
__PRETTY_FUNCTION__:
„__PRETTY_FUNCTION__“ ist ein gcc-spezifische Erweiterung, die __FUNCTION__ ähnelt. Für C-Funktionen wird der „hübsche“ Name einschließlich der Signatur angezeigt. Visual C hat eine ähnliche Erweiterung, __FUNCSIG__.
Entscheidung, welcher Bezeichner verwendet werden soll:
Die Wahl hängt von der Compilerunterstützung und dem gewünschten Funktionsnamenformat ab:
Dokumentation:
Das obige ist der detaillierte Inhalt vonWelchen C/C-Bezeichner sollte ich verwenden, um den Namen einer Funktion zur Laufzeit abzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!