我认为您可以使用动态库并在运行时(使用
dlopen和朋友)加载它们来完成此操作。
void * lib = dlopen("mynewpre.so", RTLD_LAZY);if(lib) { void (*fn)(void) = dlsym(lib, "libfunc"); if(fn) fn(); dlclose(lib);}显然,您在进行过程中将不得不编译新代码,但是如果您继续替换,
mynewpre.so我认为这将对您有用。

我认为您可以使用动态库并在运行时(使用
dlopen和朋友)加载它们来完成此操作。
void * lib = dlopen("mynewpre.so", RTLD_LAZY);if(lib) { void (*fn)(void) = dlsym(lib, "libfunc"); if(fn) fn(); dlclose(lib);}显然,您在进行过程中将不得不编译新代码,但是如果您继续替换,
mynewpre.so我认为这将对您有用。