int main( int argc, char **argv, char **env ) { /* find path to shared library */ /* open shared lib */ void *handle = dlopen(...); /* Get entry point for perl_alloc */ void* (*perl_alloc)(); perl_alloc = (void*())dlsym(handle, "perl_alloc") /* Call perl_alloc */ my_perl = (*perl_alloc)(); /* and so on */ /* ... */ }