C 和C 語言中的函數名稱巨集
在C 和C 語言中,有多個巨集可用於存取當前函數的名稱。這些巨集包括 __func__、__FUNCTION__ 和 __PRETTY_FUNCTION__。
func
在C99 定義並被C 11 採用,func 是一個隱式宣告的字元陣列變數保存封閉函數的名稱。這是一個簡單而輕量級的選項,提供了樸素的函數名稱。
FUNCTION
FUNCTION 是一個預先標準某些編譯器支援的擴充。它的行為類似於 func__,但它不是官方語言標準的一部分。出於可移植性的原因,最好使用 __func。
PRETTY_FUNCTION
PRETTY_FUNCTION 是一個提供函數「漂亮」名稱的特定擴展,包括它的簽名。與它的前身不同,它在 C 中主要用於獲取具有參數類型的完整函數原型。
文件
func 記錄在 C99 中標準,第 6.4.2.2/1 節。 FUNCTION 沒有正式記錄,但通常包含在特定於編譯器的文件中。 PRETTY_FUNCTION 記錄在 GCC 文件頁「函數名稱為字串」。
何時使用每個宏
宏的選擇取決於具體要求:
以上是如何在「__func__」、「__FUNCTION__」和「__PRETTY_FUNCTION__」之間進行選擇以存取 C 和 C 語言中的函數名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!