Este es el manual de gcc:
-finstrument-funciones
Generar llamadas de instrumentación para entrada y salida a las funciones. Solo después de la entrada de la función y justo antes de la salida de la función , se invocarán las siguientes funciones de perfilado con la dirección de la función actual y su sitio de llamada. (En algunas plataformas, __builtin_return_address no funciona más allá de la fun- ción actual, por lo que la información del sitio llamada puede no ser disponible para las funciones de perfilado lo contrario.)
__cyg_profile_func_enter (void * this_fn, void * call_site);
void __cyg_profile_func_exit (void * this_fn, void * call_site);
A menos que algo implemente esas funciones, obtendrá errores del enlazador (que es lo que sucede con MinGW). Posiblemente, su versión de GCC proporciona implementaciones vacías.
que tengo que trabajar con MinGW GCC proporcionando esta implementación:
#include <stdio.h>
void __cyg_profile_func_enter (void *this_fn, void *call_site) {
printf("entering %p\n", this_fn);
}
void __cyg_profile_func_exit (void *this_fn, void *call_site) {
printf("leaving %p\n", this_fn);
}
pero esto sólo da las direcciones de las funciones. Hubiera pensado que debería haber una implementación predeterminada de GCC de esto, pero parece que no lo es.
La gente también podría estar interesada en this visualisation of the call tree, que usa la bandera de -fintrument-functions -venta, no lo he probado yo mismo.
La respuesta es incorrecta. –