#include "minimal_lib.h" #include "../../include/hiload/hiload.h" #include #include #include #include #define ARRLEN(A) (sizeof((A)) / (sizeof((A)[0]))) int main(int argc, char *argv[]) { const char *reloadable_modules[] = {"", "libmini.so"}; hi_init(ARRLEN(reloadable_modules), reloadable_modules); int modified = -1; while (modified != 0) { // printf("==========================\n"); // printf("main address: %p\n", main); // printf("minimal_lib::getNewValue address: %p\n", minimal_lib::getNewValue); // printf("minimal_lib::otherValue address: %p\n", &minimal_lib::otherValue); // printf("==========================\n"); // printf(""); modified = minimal_lib::getNewValue(5); printf("getModified(5): %d\n", modified); std::this_thread::sleep_for(std::chrono::seconds(1)); printf("otherValue: %d\n", minimal_lib::otherValue++); std::this_thread::sleep_for(std::chrono::seconds(1)); if (hi_reload() != HILOAD_OK) { fprintf(stderr, "Failed to load modules\n"); } } hi_deinit(); return 0; }