的#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