123456789101112131415161718192021222324252627282930 |
- #include <dlfcn.h>
- #include <stdio.h>
- #include <stdlib.h>
- #define LIBNAME "libB.so"
- void _libC_fini(void);
- void _libC_fini(void)
- {
- printf("libC_fini():finish - atexit()\n");
- }
- void libC_fini(void);
- void libC_fini(void)
- {
- _libC_fini();
- }
- void libC_func(void);
- void libC_func(void)
- {
- void *libB;
- libB = dlopen(LIBNAME, RTLD_LAZY);
- if (!libB) {
- fprintf(stderr, "Could not open ./%s: %s\n", LIBNAME, dlerror());
- exit(1);
- }
- atexit(libC_fini);
- }
|