我在file.h中有以下内容:
#define SetSP(sp) asm("movq %0,%%rsp": : "r" (sp) )
但是,在我的file.c文件中,当我尝试使用它时,例如:
SetSp(lwp_ptable[lwp_procs].sp);
当我编译file.c时,我得到一个函数SetSp的隐式声明。我有#include" file.h"在file.c.想法?
答案 0 :(得分:4)
您的定义为SetSP
,当您将其用作SetSp
时,请注意字母p
中的大小写差异。欢迎使用区分大小写的语言...
答案 1 :(得分:1)
如果您复制并粘贴了代码,请注意SetSP
与SetSp
不同(当您调用宏时,您使用了小写的p)。