⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eeprof-1.c

📁 this is a gcc file, you can download it and learn its usetility, for further detail please look at t
💻 C
字号:
#define ASSERT(X)	if (!(X)) abort ();#define NOCHK __attribute__ ((no_instrument_function))int entry_calls, exit_calls;void (*last_fn_entered)();void (*last_fn_exited)();int main () NOCHK;void foo (){  ASSERT (last_fn_entered == foo);}static void foo2 (){  ASSERT (entry_calls == 1 && exit_calls == 0);  ASSERT (last_fn_entered == foo2);  foo ();  ASSERT (entry_calls == 2 && exit_calls == 1);  ASSERT (last_fn_entered == foo);  ASSERT (last_fn_exited == foo);}void nfoo (void) NOCHK;void nfoo (){  ASSERT (entry_calls == 2 && exit_calls == 2);  ASSERT (last_fn_entered == foo);  ASSERT (last_fn_exited == foo2);  foo ();  ASSERT (entry_calls == 3 && exit_calls == 3);  ASSERT (last_fn_entered == foo);  ASSERT (last_fn_exited == foo);}int main (){  ASSERT (entry_calls == 0 && exit_calls == 0);  foo2 ();  ASSERT (entry_calls == 2 && exit_calls == 2);  ASSERT (last_fn_entered == foo);  ASSERT (last_fn_exited == foo2);  nfoo ();  ASSERT (entry_calls == 3 && exit_calls == 3);  ASSERT (last_fn_entered == foo);  return 0;}void __cyg_profile_func_enter (void (*fn)(), void (*parent)()) NOCHK;void __cyg_profile_func_exit (void (*fn)(), void (*parent)()) NOCHK;void __cyg_profile_func_enter (void (*fn)(), void (*parent)()){  entry_calls++;  last_fn_entered = fn;}void __cyg_profile_func_exit (void (*fn)(), void (*parent)()){  exit_calls++;  last_fn_exited = fn;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -