mirror of
https://github.com/boostorg/dll.git
synced 2026-01-28 07:02:20 +00:00
more cleanups
This commit is contained in:
@@ -9,10 +9,10 @@
|
||||
|
||||
//[callplugcpp_tutorial6
|
||||
#include <boost/dll/import.hpp>
|
||||
#include <boost/function.hpp>
|
||||
#include <functional>
|
||||
#include <iostream>
|
||||
|
||||
using callback_t = boost::function<void()>;
|
||||
using callback_t = std::function<void()> ;
|
||||
|
||||
void print_unloaded() {
|
||||
std::cout << "unloaded" << std::endl;
|
||||
@@ -22,17 +22,16 @@ int main(int argc, char* argv[]) {
|
||||
// argv[1] contains full path to our plugin library
|
||||
boost::dll::fs::path shared_library_path = /*<-*/ b2_workarounds::first_lib_from_argv(argc, argv); /*->*/ //=argv[1];
|
||||
|
||||
{
|
||||
// loading library and getting a function from it
|
||||
auto on_unload = boost::dll::import_alias<void(const callback_t&)>(
|
||||
shared_library_path, "on_unload"
|
||||
);
|
||||
// loading library and getting a function from it
|
||||
std::function<void(const callback_t&)> on_unload = boost::dll::import_alias<void(const callback_t&)>(
|
||||
shared_library_path, "on_unload"
|
||||
);
|
||||
|
||||
on_unload(&print_unloaded); // adding a callback
|
||||
on_unload(&print_unloaded); // adding a callback
|
||||
std::cout << "Before library unload." << std::endl;
|
||||
|
||||
std::cout << "Before library unload." << std::endl;
|
||||
// Releasing last reference to the library, so that it gets unloaded
|
||||
}
|
||||
// Releasing last reference to the library, so that it gets unloaded
|
||||
on_unload = {};
|
||||
std::cout << "After library unload." << std::endl;
|
||||
}
|
||||
//]
|
||||
|
||||
Reference in New Issue
Block a user