Dentro de mi atexit() función registrada Me gustaría conseguir el estado de salida (ya sea el argumento para de salida (3) o lo que main() devuelve con).Obtener el estado de salida desde el interior de una función registrada con atexit()
¿Hay alguna forma portátil de hacer esto? ¿Hay alguna forma específica de GNU libc de hacerlo, como un holding global ese valor que puedo hacer referencia?
Gracias. Sí configurando mi propio global antes de llamar a exit() y usarlo en mi func registrado parece ser la mejor idea. –
Recuerde el paréntesis alrededor de 'exit' en la macro: se aseguran de que la macro no intente llamarse a sí misma, pero permite que la macro llame a una función del mismo nombre. Solo recientemente aprendí ese truco, pero te permite evitar que tu hack sea claramente obvio con algo como '#define EXIT (x) exit (last_exit = x)'. Todas las mayúsculas son feas. –
Se recomienda un conjunto adicional de paréntesis alrededor de '(x)' en la definición de macro. – caf