libtest1.c 625 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include <stdio.h>
  2. extern int libtest2_func(const char *s);
  3. void __attribute__((constructor)) libtest1_ctor(void)
  4. {
  5. printf("libtest1: constructor!\n");
  6. }
  7. void __attribute__((destructor)) libtest1_dtor(void)
  8. {
  9. printf("libtest1: destructor!\n");
  10. }
  11. void __attribute__((weak)) function1(void)
  12. {
  13. printf("libtest1: I am weak function1!\n");
  14. }
  15. void function2(void)
  16. {
  17. printf("libtest1: I am function2!\n");
  18. }
  19. int dltest(const char *s)
  20. {
  21. printf( "libtest1: function1 = %p\n"
  22. "libtest1: function2 = %p\n",
  23. function1, function2);
  24. function1();
  25. function2();
  26. return(libtest2_func(s));
  27. }