1 | #include <dlfcn.h> |
---|---|
2 | #include <stdio.h> |
3 | |
4 | |
5 | extern void constr (void) __attribute__ ((__constructor__)); |
6 | void |
7 | __attribute__ ((__constructor__)) |
8 | constr (void) |
9 | { |
10 | void *handle; |
11 | |
12 | /* Open the library. */ |
13 | handle = dlopen (NULL, RTLD_NOW); |
14 | if (handle == NULL) |
15 | { |
16 | puts (s: "Cannot get handle to own object"); |
17 | return; |
18 | } |
19 | |
20 | /* Get a symbol. */ |
21 | dlsym (handle: handle, name: "main"); |
22 | puts (s: "called dlsym() to get main"); |
23 | |
24 | dlclose (handle: handle); |
25 | } |
26 |