Suponiendo que el compilador de C++ compatible con ellas, ¿hay alguna razón en particular no utilizar __FILE__
, __LINE__
y __FUNCTION__
para propósitos de registro y depuración?__FILE__, __LINE__, y el uso __FUNCTION__ en C++
Me preocupa principalmente proporcionar al usuario datos confusos (por ejemplo, informar el número de línea incorrecto o la función como resultado de la optimización) o, como resultado, obtener un resultado de rendimiento.
Básicamente, puedo confiar en __FILE__
, __LINE__
y __FUNCTION__
-siempre hacer lo correcto?
__LINE__ debe hacer lo correcto. Lo he usado ampliamente y sus cohortes, incluyendo __PRETTY_FUNCTION__. ... Pero ... bueno, ahora mismo estoy mirando el código donde se encuentra __LINE__. Probablemente porque está en un bloque de captura para el manejo de excepción de try/catch. –
relevante: [referencia de gcc para macros predefinidas] (http://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html) –