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

 

posted on 2021-11-10 17:21  子虚乌有  阅读(78)  评论(0)    收藏  举报