我想用.C文件生成一个DLL,已经建立了一个WIN 32DLL工程,但不知为什么在编译时出现了一下类似错误f:\项目\verifyd\udiskenum.h(138) : error C2143: syntax error : missing ')' be

疙瘩汤 2008-07-14 09:45:38
我想用.C文件生成一个DLL,已经建立了一个WIN 32DLL工程,但不知为什么在编译时出现了一下类似错误f:\项目\verifyd\udiskenum.h(138) : error C2143: syntax error : missing ')' before '&'
f:\项目\verifyd\udiskenum.h(138) : error C2143: syntax error : missing '{' before '&'
f:\项目\verifyd\udiskenum.h(138) : error C2059: syntax error : '&'
f:\项目\verifyd\udiskenum.h(138) : error C2059: syntax error : ')'
f:\项目\verifyd\udiskenum.h(141) : error C2143: syntax error : missing ')' before '&'
f:\项目\verifyd\udiskenum.h(141) : error C2143: syntax error : missing '{' before '&'
f:\项目\verifyd\udiskenum.h(141) : error C2059: syntax error : '&'
f:\项目\verifyd\udiskenum.h(141) : error C2059: syntax error : ')'
f:\项目\verifyd\udiskenum.h(142) : error C2143: syntax error : missing ')' before '&'
f:\项目\verifyd\udiskenum.h(142) : error C2143: syntax error : missing '{' before '&'
f:\项目\verifyd\udiskenum.h(142) : error C2059: syntax error : '&'
f:\项目\verifyd\udiskenum.h(142) : error C2059: syntax error : ')'
...全文
143 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
疙瘩汤 2008-07-14
  • 打赏
  • 举报
回复
程序中有好多C不支持的类型及函数调用方法,总不能一个一个改吧,这个程序与硬件接口有关。大家帮帮忙,标准C有没有与VC编译器的接口啊?
ouyh12345 2008-07-14
  • 打赏
  • 举报
回复
把引用改成指针
Conry 2008-07-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ouyh12345 的回复:]
c不支持引用,生成C++代码
[/Quote]
如果一定要修改HANDLE的值,并且不用C++那就改成指针吧HANDLE* nhandle
JOKER_FISH 2008-07-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ouyh12345 的回复:]
c不支持引用,生成C++代码
[/Quote]

学到了


PS: 弱弱说句 引用不能用改成指针可以吧
疙瘩汤 2008-07-14
  • 打赏
  • 举报
回复
可是要做一个基于.C文件的DLL,怎么办啊
ouyh12345 2008-07-14
  • 打赏
  • 举报
回复
c不支持引用,生成C++代码
疙瘩汤 2008-07-14
  • 打赏
  • 举报
回复
int GetDevicePath(LPGUID lpGuid, LPTSTR* pszDevicePath);
HANDLE OpenDevice(LPCTSTR pszDevicePath);
BOOL GetDriveProperty(HANDLE hDevice, PSTORAGE_DEVICE_DESCRIPTOR pDevDesc);
BOOL StorageEnum(HANDLE & nhandle, char *checkcode);
BOOL MSCTtransferPlus(HANDLE hDevice,int TransferLen,char InOrOut,char *para,char *TransferBuf);

BOOL VendorFlashDiskSetPassword(HANDLE hDevice,SCSI_PASS_THROUGH_WITH_BUFFERS & sptwb);
BOOL MyReset(HANDLE hDevice,SCSI_PASS_THROUGH_WITH_BUFFERS & sptwb);
BOOL VendorFlashDiskChangePassword(HANDLE hDevice,SCSI_PASS_THROUGH_WITH_BUFFERS & sptwb);
BOOL VendorFlashDiskGetPasswordResult(HANDLE hDevice,SCSI_PASS_THROUGH_WITH_BUFFERS & sptwb);
BOOL CloseUDiskDevice(HANDLE & Handle);
BOOL check_in(HANDLE handle, char *checkcode);
int check_Udisk_device(char *str);
这是要做的库的头文件的函数声明,第四行就有上面的错误,其他错误也都是类似的,难道是因为.C文件不支持HANDLE等数据类型吗?
谢谢大家的关注!
na_he 2008-07-14
  • 打赏
  • 举报
回复
&前面的变量定义了没有呀.
缘来是梦 2008-07-14
  • 打赏
  • 举报
回复
最好把出错的那段源代码贴出来!
疙瘩汤 2008-07-14
  • 打赏
  • 举报
回复
能说明白些吗?我已经找了一天了,找不出哪里的语法错误
luohongming 2008-07-14
  • 打赏
  • 举报
回复
语法错误

15,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧