Nombre de archivo y Número de Línea

13/07/2004 - 00:32 por Willser F. González C. | Informe spam
Hola Grupo,

Tengo una función Funcion1() en un archivo Archivo1.cpp y otra función
Funcion2() en un archivo Archivo2.cpp, desde la Funcion1() llamo
correctamente a la Funcion2().

Ahora, Funcion2() debe mostrarme un mensaje con el nombre del archivo (en
este caso Archivo1.cpp) y el número de la línea (n) desde donde se llamó a
Funcion2(). Hay dos macros __FILE__ y __LINE__, pero para que funcione
correctamente, esto implica que se deben pasar estas macros como parámetros
de Funcion2(...).

Mi pregunta es si existe otra alternativa para saber estos dos valores sin
necesidad de pasarlos como parámetros, ya que necesito que Funcion2(...)
reciba, además, una cantidad de parámetros por defecto y otra cantidad de
parámetros opcionales, algo así como:

Funcion2(LPCTSTR i_lpszFrmto, ...)

y la idea es evitar estar enviando __FILE__ y __LINE__ como parámetros cada
vez que necesite llamar a Funcion2() (Son muchas las llamadas a esta
función).

Gracias,

Willser F.
willser@latinmail.com

Preguntas similare

Leer las respuestas

#1 pablo crosio
13/07/2004 - 06:11 | Informe spam
hola!

una idea que se me ocurre (hay otras formas) es que
utilices una macro; el tema es que como tenes argumentos
variables se complica un poco la cosa.
tal vez con 2 variables globales, una para el archivo y
otra para el numero de linea.
deberias armar una macro que cambiara tu Funcion2 por 2
asignaciones a variables globales y luego invoque a por
ejemplo F2 (F2 sera el nombre de tu funcion real)


en archivo1 podrias poner (donde llamas a Funcion2):

#define Funcion2 g_f = __FILE__; g_l = __LINE__; F2

char* g_f;
int g_l;

en archivo2:

declarar como extern las variables globales para poder
utilizarlas dentro de Funcion2, esas variables van a tener
el archivo y la linea

Cambiar el nombre de Funcion2 a F2 (las llamadas no,
siempre vas a llamar a la macro Funcion2)

salu2!!

pablo

Mostrar la cita
otra función
Mostrar la cita
() llamo
Mostrar la cita
del archivo (en
Mostrar la cita
donde se llamó a
Mostrar la cita
para que funcione
Mostrar la cita
macros como parámetros
Mostrar la cita
estos dos valores sin
Mostrar la cita
que Funcion2(...)
Mostrar la cita
otra cantidad de
Mostrar la cita
como parámetros cada
Mostrar la cita
llamadas a esta
Mostrar la cita
#2 Willser F. González C.
13/07/2004 - 17:22 | Informe spam
Gracias Pablo,

Con la macro y las dos variables globales funciona perfectamente, no he
encontrado inconvenientes con los parámetros por defecto, ni con los
parámetros opcionales. Todo salió OK.


Gracias,

Willser F.
Ads by Google
Search Busqueda sugerida