假設您的C ++編譯器支持它們,是否有任何特殊原因不使用__FILE__,__LINE__以及__FUNCTION__用于記錄和調(diào)試目的?我主要關心的是給用戶誤導數(shù)據(jù) - 例如,由于優(yōu)化而報告錯誤的行號或功能 - 或者因此導致性能損失?;旧?,我可以信任__FILE__,__LINE__并__FUNCTION__以永遠做正確的事?
3 回答

慕田峪4524236
TA貢獻1875條經(jīng)驗 獲得超5個贊
__FUNCTION__是非標準的,__func__存在于C99 / C ++ 11中。其他人(__LINE__和__FILE__)就好了。
它將始終報告正確的文件和行(如果您選擇使用__FUNCTION__/,則為函數(shù)__func__)。優(yōu)化是一個非因素,因為它是一個編譯時宏擴展; 它絕不會以任何方式影響性能。
- 3 回答
- 0 關注
- 500 瀏覽
添加回答
舉報
0/150
提交
取消