Displaying exercises/e7/solution/dl.c#include <stdio.h>
#include <dlfcn.h>
# define M_PI 3.14159265358979323846 /* pi */
int main(void)
{
void *libm = dlopen("/lib64/libm.so.6", RTLD_LAZY);
if (libm == NULL) {
perror("dlopen");
return 1;
}
double (*sin)(double) = dlsym(libm, "sin");
double (*cos)(double) = dlsym(libm, "cos");
printf("sin(cos(pi))) = %lf\n", sin(cos(M_PI)));
return 0;
}
|