使用 FILE__、__LINE__ 和 __FUNCTION 进行日志记录和调试
在 C 中进行日志记录或调试时,这是常见的使用 FILE__、__LINE__ 和__FUNCTION 宏提供有关问题位置的附加信息。但是,人们可能想知道是否存在任何潜在问题或不依赖这些宏的原因。
可靠性和误导性数据
LINE 和 __FILE__: 这些宏通常可以可靠地分别提供正确的行号和文件名。它们在编译期间进行评估并报告原始源代码中指定的值。优化不会影响其准确性。
__FUNCTION__: FUNCTION 不是标准 C 宏。在 C99 和 C 11 中,可以使用 func 代替。这两个宏都提供了使用它们的函数的名称。
性能影响
FILE__、__LINE__ 和 __FUNCTION__/__func 是所有编译时宏扩展。它们在编译期间进行评估和扩展,从而在运行时不会产生额外的性能开销。
结论
综上所述,LINE 和 FILE 对于提供有关文件和行号的信息是可靠的。优化不会影响其准确性。虽然 FUNCTION 是非标准的,但 func 存在于 C99 和 C 11 中并提供类似的功能。这些宏可以有效地用于调试和日志记录,而不必担心数据不正确或性能影响。
以上是您应该使用'__FILE__”、'__LINE__”和'__func__”进行 C 日志记录和调试吗?的详细内容。更多信息请关注PHP中文网其他相关文章!