winter
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2013-08-15
  • 粉丝4
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1668回复:2

这可恶的编译器,要把我逼疯了,救命呀

楼主#
更多 发布于:2001-06-15 10:32
这么简单的程序,竟然报错!
////pc60001.c
#include <wdm.h>
bool a;//改成int a;后就没有错误了

NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath)
{
return STATUS_SUCCESS;
}

在free环境下编译:
Compiling - pc60001.c for i386
pc60001.c(4) : error C2061: syntax error : identifier 'a'
pc60001.c(4) : error C2059: syntax error : ';'
BUILD: Compile errors: not linking e:\wdmbook\mygod directory
BUILD: Done

///以下是resource文件的内容

# The sources for the Generic Port I/O device driver:

TARGETNAME=PC6000
TARGETPATH=obj
TARGETTYPE=DRIVER

INCLUDES=..\

SOURCES= pc60001.c

我知道,一定是我哪里没搞清楚,可是......实在不行只好用windriver了
请原谅我的无知与直率
mach
驱动牛犊
驱动牛犊
  • 注册日期2001-04-16
  • 最后登录2004-08-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-06-15 10:45
请注意,C里面没有bool类型,你只能用BOOL类型,
bool好像是VC编译器独有的,我强烈建议不要用。
winter
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2013-08-15
  • 粉丝4
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-06-15 12:52
谢谢,经过与源程序的比较,我发现了这个问题,原来他都是用的.cpp的后缀名,我改过来后就好了,另外,用BOOL也不可以,好像在.c中要用BOOLEAN声明,ddk的例程序就是这样的,还有,
#define INITGUID这个预处理都干了什么?
请原谅我的无知与直率
游客

返回顶部