Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (!system(sh.str().c_str())) {
- // 4.3) execute shared library code
- void* handle = dlopen("../shared/lib.so", RTLD_NOW | RTLD_GLOBAL);
- if (!handle) {
- cerr << "error: " << dlerror() << endl;
- exit(1);
- }
- auto fn = reinterpret_cast<void (*)(
- Database *)>(dlsym(handle, "run"));
- std::cout << fn << std::endl;
- if (!fn) {
- cerr << "error: " << dlerror() << endl;
- exit(1);
- }
- std::cout << "[ ] execute query" << std::endl;
- fn(db); // execute query
- // 4.4 print measurement results
- dlclose(handle);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement