LIPO uses (1), lipo-info path / to / binary, gprof does that very partially in osx, NM (1) for symbols, OToole (1) for L-links otool path / to / binary and of course if you're in leopard Seb you are tired "?) To analyze the syntax gere not c + + but that will come universal means clustering FAT, it's universal slang Apple (exists since Matusalem) if you want to know more option read one of my makefile a little hacking and MacOS gcc internals and how the profiling tools for Apple
Code:
/ / # Include bridge_saturn.c <stdio.h> stdlib.h void __attribute__ ((__no_instrument_function__)) __cyg_profile_func_enter (void * f, void * c) (fprintf (stderr, "Enter function% p,% p caller \ n ", f, c);) void __attribute__ ((__no_instrument_function__)) __cyg_profile_func_exit (void * f, void * c) (printf (stderr,"% p Exit function, caller% p \ n ", f, c); )
gcc-c-o bridge_saturn.c bridge_saturn.o
realpath.c tatouille
/ * EOF * /
gcc-Wall-o realpath realpath.c \ bridge_saturn.o-framework CoreServices-lSaturn-finstrument-functions
. / Realpath / Enter function 0x1dcf, caller 0x1c0e Enter 0x1c3a function, caller 0x1e16 0x1c3a Exit function, caller 0x1e16 / Exit function 0x1dcf, caller 0x1c0e
You could create your stub like this
/ * Extern void __cyg_profile_func_enter (void * f, void * c); extern void __cyg_profile_func_exit (void * f, void * c) void _cyg_profile_func_enter (void * f, void * c) (__cyg_profile_func_enter (& f, & c);) void _cyg_profile_func_exit (void * f, void * c) (__cyg_profile_func_exit (& f, & c);) * /
Bookmarks