redis6.0.5一个关于REGISTER_API的小测试(注册API宏定义)
#include<stdio.h> #define REGISTER_API(name) moduleRegisterApi("RedisModule_" #name , (void *)(unsigned long)RM_ ## name) //定义的api名和函数名 void moduleRegisterApi(const char *funcname, void *fptr) { printf(funcname); printf("\n"); printf("*******\n"); void (*p)(); p = fptr; p(); printf("*******\n"); printf("end\n"); } void *RM_ccy() { printf("rm_ccy\n"); } int main() { REGISTER_API(ccy); return 0; } 编译 [root@localhost tmp]# gcc -g testdefine.c -o testdefine [root@localhost tmp]# ./testdefine 输出结果: RedisModule_ccy ******* rm_ccy ******* end