Advertisement
bueddl

Untitled

May 24th, 2013
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.60 KB | None | 0 0
  1.           #include <stdio.h>
  2.           #include <stdlib.h>
  3.           #include <dlfcn.h>
  4.  
  5.           int main(int argc, char **argv) {
  6.           void *handle;
  7.           double (*cosine)(double);
  8.           char *error;
  9.  
  10.           handle = dlopen ("libm.so", RTLD_LAZY);
  11.           if (!handle) {
  12.               fprintf (stderr, "%s\n", dlerror());
  13.               exit(1);
  14.           }
  15.  
  16.           dlerror();    /* Clear any existing error */
  17.           cosine = dlsym(handle, "cos");
  18.           if ((error = dlerror()) != NULL)  {
  19.               fprintf (stderr, "%s\n", error);
  20.               exit(1);
  21.           }
  22.  
  23.           printf ("%f\n", (*cosine)(2.0));
  24.           dlclose(handle);
  25.           return 0;
  26.           }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement