2
首先,您可以通過DDK構建實用程序成功編譯以下main.c。爲什麼DDK能夠成功編譯無效的源文件?
#include <ntddk.h>
NTSTATUS DriverEntry(PDRIVER_OBJECT, PUNICODE_STRING)
{
try
{
leave;
}
except (1)
{
}
return 0;
}
而且然而,請注意:
的 「離開」 和 「除」 兩者都不是有效的C語言kerwords。
我知道__leave和__except(即帶有雙下劃線的下劃線)都是特定於Microsoft的關鍵字,用於擴展C語言,但「leave」和「except」不是。
我也確認「leave」和「except」不是由宏定義的。 MSDN對此沒有解釋。
誰能給我一個解釋?提前致謝。
我發現它們在'inc \ api \ warning.h'中定義爲宏。但是,關於它的文檔並不多。 – Rohan
羅漢,非常感謝你。 – xmllmx
DDK不編譯任何東西:編譯器。 – EJP