Надеюсь тут есть люди знакомые с плюсами.
Столкнулся с не понятными, для меня, определениями параметров в функции
Код:
RVExtensionRegisterCallback(int(*callbackProc)(char const *name, char const *function, char const *data))
и как подобное реализовать на пурике хз(
это вроде рабочий пример DLL, которуя в пытаюсь реализовать на пурике
Код:
#include <thread> #include <string> #include <chrono> extern "C" { __declspec (dllexport) void __stdcall RVExtensionRegisterCallback(int(*callbackProc)(char const *name, char const *function, char const *data)); __declspec (dllexport) void __stdcall RVExtension(char *output, int outputSize, const char *function); } int(*callbackPtr)(char const *name, char const *function, char const *data) = nullptr; void __stdcall RVExtensionRegisterCallback(int(*callbackProc)(char const *name, char const *function, char const *data)) { callbackPtr = callbackProc; } void __stdcall RVExtension(char *output, int outputSize, const char *function) { if (!callbackPtr) return; std::thread ([](std::string fnc) { using namespace std::chrono_literals; fnc = "[1,2,3," + fnc + "]"; for (int i = 1; i < 4; ++i) // run 3 times { std::this_thread::sleep_for(2s); // sleep for 2 seconds callbackPtr("test_callback", ("fncToExecute_" + std::to_string(i)).c_str(), fnc.c_str()); } }, function).detach(); }