Windows で以下に相当するものはありますか?
#include <dlfcn.h>
#include <stdio.h>
void main_greeting(void)
{
printf("%s\n", "hello world");
}
void lib_func(void)
{
void (*greeting)(void) = dlsym(RTLD_MAIN_ONLY, "main_greeting");
greeting ? greeting() : printf("%s\n", dlerror());
}
int main(void)
{
lib_func();
return 0;
}
これは短いスニペットです。実際の目的は、動的に読み込まれたライブラリmain_greeting
の関数 ( ) 内から、メイン プロセス ( )に存在することがわかっている関数を呼び出すことです。lib_func
メイン プロセスは変更できないため、コールバックを渡すように書き換えることはできません。