在使用__file__,__line__时,是否存在任何兼容性问题



这些宏仅适用于gcc?

  • __FILE__
  • __LINE__

在期望使用其他编译器编译时使用这些限制?

它们是标准宏,保证在任何C和C 编译器上可用(C89,§3.8.8¶1; C99,§6.10.8¶1; C 98,§16.8¶1,C 11, ibidem ,C 14 ibidem )。当然,__FILE__的格式可能会根据精确的编译器/平台而有所不同。尽管如此,它们仍可以通过#line指令(也由标准规定)来控制。

相关内容

最新更新