41 lines
1.0 KiB
C++
41 lines
1.0 KiB
C++
#include "minimal_lib.h"
|
|
|
|
#include "../../include/hiload/hiload.h"
|
|
|
|
#include <chrono>
|
|
#include <cstdio>
|
|
#include <thread>
|
|
|
|
int main(int argc, char *argv[]) {
|
|
|
|
const char *reloadable_modules[] = {"", "libmini.so"};
|
|
hi_init(2, 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));
|
|
printf("\n");
|
|
|
|
if (hi_reload_solib("libmini.so") != HI_RELOAD_SUCCESS) {
|
|
fprintf(stderr, "Failed to load solib\n");
|
|
}
|
|
}
|
|
|
|
hi_deinit();
|
|
|
|
return 0;
|
|
}
|