我有一个用C编写的WDK Windows驱动程序,我使用WinDDK build.exe实用程序来构建它。问题是build.exe实用程序使用visual studio cl.exe编译器,它根据C89标准编译带* .c的文件。根据此标准,必须在块的开头声明所有块级变量。在我的驱动程序中,我有一个巨大的文件打破了这个约定,我不想改变它。因此,我需要使用C99约定编译驱动程序。
根据选项列表,cl.exe不允许指定标准:https://msdn.microsoft.com/en-us/library/fwkeyyhe.aspx。
另请注意,这不是视觉工作室项目,我不能使用gcc,因为我使用的是WinDDK。