Advertisement
Guest User

Untitled

a guest
Jan 2nd, 2014
263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.52 KB | None | 0 0
  1. if (!system(sh.str().c_str())) {
  2.     // 4.3) execute shared library code
  3.     void* handle = dlopen("../shared/lib.so", RTLD_NOW | RTLD_GLOBAL);
  4.     if (!handle) {
  5.         cerr << "error: " << dlerror() << endl;
  6.         exit(1);
  7.     }
  8.     auto fn = reinterpret_cast<void (*)(
  9.                     Database *)>(dlsym(handle, "run"));
  10.     std::cout << fn << std::endl;
  11.     if (!fn) {
  12.         cerr << "error: " << dlerror() << endl;
  13.         exit(1);
  14.     }
  15.     std::cout << "[ ] execute query" << std::endl;
  16.     fn(db); // execute query
  17.  
  18.     // 4.4 print measurement results
  19.     dlclose(handle);
  20. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement