的#define SYSCALL_DEFINEx(X,SNAME,...)
在3.14 linux内核有以下宏:
#define SYSCALL_DEFINEx(x, sname, ...)
它位于在include/linux/syscalls.h 。
我在源代码中添加了一个系统调用,我编译了它,并使用系统调用编写了一个小程序。它似乎工作,因为我的系统调用已被调用并打印一条消息。
但我没有使用宏。我阅读有关它的事情。我明白这个宏是为了争论。但是我不明白什么时候需要使用它,因为我做了一个“grep”,看起来大部分带参数的系统调用都没有使用它。
我必须使用它吗?为什么?
我对同一个文件(SYSCALL_METADATA(sname,nb,...),SYSCALL_TRACE_ENTER_EVENT(sname)等)中的其他宏也有同样的问题。即使我的系统调用有效,我是否也必须全部使用它们?
我怕如果我不使用这些宏错过的东西,我不能找到它足够的信息:/
谢谢!
双向试用你的程序。如果输出是相同的,那么你不需要,但如果它不同,那么研究它们的差异。 – eyoung100 2014-09-26 17:01:57
我试过但我不明白有什么区别。现在更清楚了。谢谢! – Kany 2014-09-28 15:15:18