私は次のコードを持っています。
typedef pid_t (*getpidType)(void);
pid_t getpid(void)
{
printf("Hello, getpid!\n");
getpidType* f = (getpidType*)dlsym(RTLD_NEXT, "getpid");
return f(); // <-- Problem here
}
コンパイラはそれを文句を言いcalled object ‘f’ is not a function
ます。ここで何が起こっているのですか?関数ポインタfを正しい方法で宣言して使用していませんか?