1. ホーム
  2. c++

[解決済み] C++ における __FILE__, __LINE__, __FUNCTION__ の使用法

2022-04-20 23:53:36

質問

C++コンパイラがサポートしていると仮定して、何か特別な理由があるのでしょうか? ではなく を使用することです。 __FILE__ , __LINE____FUNCTION__ ロギングやデバッグのために?

例えば、最適化の結果、誤った行番号や関数を報告したり、その結果、パフォーマンスが低下するような、ユーザーに誤解を与えるようなデータを提供することを主に懸念しています。

基本的に __FILE__ , __LINE____FUNCTION__ から 常に 正しいことをするのか?

解決方法は?

__FUNCTION__ は非標準です。 __func__ は C99 / C++11 に存在し、その他 ( __LINE____FILE__ )はちょうどいい。

常に正しいファイルと行を報告します。 __FUNCTION__ / __func__ ). 最適化は、コンパイル時のマクロ展開であるため、要因にはなりません。 決して は、パフォーマンスに何ら影響を与えません。