这些宏只适用于GCC吗?
__FILE__
__LINE__
在期望使用其他编译器进行编译时,使用它们是否有任何限制?
答案 0 :(得分:3)
它们是标准宏,保证可在任何C和C ++编译器上使用(C89,§3.8.8¶1; C99,§6.10.8¶1; C ++ 98,§16.8¶1,C ++ 11, ibidem ,C ++ 14 ibidem )。当然,viewIds
的格式可能会有所不同,具体取决于确切的编译器/平台。尽管如此,它们仍可通过__FILE__
指令(标准规定)进行控制。