github.com/stealthrocket/wzprof@v0.2.1-0.20230830205924-5fa86be5e5b3/testdata/c/simple.c (about)

     1  #include <stdio.h>
     2  #include <stdlib.h>
     3  
     4  __attribute__((noinline))
     5  void func1() {
     6    void* p = malloc(10);
     7    printf("func1 malloc(10): %p\n", p);
     8  }
     9  
    10  __attribute__((noinline))
    11  void func21() {
    12    void* p = malloc(20);
    13    printf("func21 malloc(20): %p\n", p);
    14  }
    15  
    16  __attribute__((noinline))
    17  void func2() {
    18    func21();
    19  }
    20  
    21   __attribute__((always_inline))
    22  void func31() {
    23    void* p = malloc(30);
    24    printf("func31 malloc(30): %p\n", p);
    25  }
    26  
    27  __attribute__((noinline))
    28  void func3() {
    29    func31();
    30  }
    31  
    32  int main(int argc, char** argv) {
    33    printf("start\n");
    34    func1();
    35    func2();
    36    func3();
    37    printf("end\n");
    38  }