1 #include <stdio.h> 2 3 #define INLINE inline __attribute__((always_inline)) 4 5 int func_not_inlined(void)6func_not_inlined (void) 7 { 8 printf ("Called func_not_inlined.\n"); 9 return 0; 10 } 11 12 INLINE int func_inlined(void)13func_inlined (void) 14 { 15 static int func_inline_call_count = 0; 16 printf ("Called func_inlined.\n"); 17 ++func_inline_call_count; 18 printf ("Returning func_inlined call count: %d.\n", func_inline_call_count); 19 return func_inline_call_count; // Set break point at this line. 20 } 21 22 extern int func_inlined (void); 23 24 int main(int argc,char ** argv)25main (int argc, char **argv) 26 { 27 printf ("Starting...\n"); 28 29 int (*func_ptr) (void); 30 func_ptr = func_inlined; 31 32 int a = func_inlined(); 33 printf("First call to func_inlined() returns: %d.\n", a); 34 35 func_not_inlined (); 36 37 func_ptr (); 38 39 printf("Last call to func_inlined() returns: %d.\n", func_inlined ()); 40 return 0; 41 } 42 43 44