【发布时间】:2012-01-30 06:14:06
【问题描述】:
我的 file.h 中有以下内容:
#define SetSP(sp) asm("movq %0,%%rsp": : "r" (sp) )
但是,在我的 file.c 文件中,当我尝试使用它时:
SetSp(lwp_ptable[lwp_procs].sp);
当我编译 file.c 时,我得到一个函数 SetSp 的隐式声明。我在file.c中有#include“file.h”。想法?
【问题讨论】:
-
头文件加进去了吗?
-
是的,我确实包含 file.h
-
您是否在
#define SetSP之后和(sp)之前添加了一个额外的空格?您是否将您的file.h包含在file.c中?使用gcc -C -E file.c > file.i然后查看file.i内部以了解预处理器在做什么......
标签: c header-files