阅读:1799回复:14
请教 这几句程序的错误
我定义了一个结构 当执行到这里时就 重起,哪里的错误 怎么正确定义
我的程序如下(一部分)在头文件 typedef struct _JIEGOU { int x; int y; }JIEGOU; 在 device.cpp 中 JIEGOU jiegou1;//定义一个结构变量 jiegou1 执行到下边这句就重起 (jiegou1).x=123;(jiegou1).y=232;(jiegou1).z=0;//给变量赋值 *(JIEGOU*)(I.IoctlBuffer())=jiegou1;//我用deviceIoControl来取值 这是什么原因呢 望高手们指教 |
|
沙发#
发布于:2005-04-25 09:19
直接这样写不可以么?
I.IoctlBuffer()=jiegou1; |
|
板凳#
发布于:2005-04-25 09:19
那里哪有z变量啊?。。。
还有啊,,这样使用不太好啊,,最好定义一个结构指针,, JIEGOU *jiegou1; jiegou1->x = 123;................... jiegou1 = (JIEGOU *)I.IoctlBuffer(); |
|
|
地板#
发布于:2005-04-25 09:52
to aiwadgj
但我想从驱动程序传输据到应用程序 怎么写 直接把你的第三句程序到过来不行 *(JIEGOU*)I.IoctlBuffer()=*jiegou; 还是重起 郁闷啊!!!!!! [编辑 - 4/25/05 by qfzcx] |
|
地下室#
发布于:2005-04-25 10:33
调试你的驱动代码,看哪里的问题.
|
|
|
5楼#
发布于:2005-04-25 10:52
to aiwadgj 你怎么还这样写啊(*(JIEGOU*)I.IoctlBuffer()=*jiegou),,你跟我那样定义的写。 JIEGOU *jiegou1; jiegou1 = (JIEGOU *)I.IoctlBuffer(); 不过,重启好像也不是这里的原因,,你改改还不行的话,就调试吧。。。 |
|
|
6楼#
发布于:2005-04-25 10:58
to aiwadgj 我现在都忘了怎么做了,照我的垃圾贴抄一个,嘻嘻,现在我也是这样做 http://www.driverdevelop.com/forum/html_89958.html?1114397914 |
|
|
7楼#
发布于:2005-04-25 16:23
----------------------------------------------------------
你怎么还这样写啊(*(JIEGOU*)I.IoctlBuffer()=*jiegou),,你跟我那样定义的写。 JIEGOU *jiegou1; jiegou1 = (JIEGOU *)I.IoctlBuffer(); 不过,重启好像也不是这里的原因,,你改改还不行的话,就调试吧。。。 ---------------------------------------------------- 谢谢 各位高手的指导! to aiwadgj 我按你的方法做了这次没有重起。但是返回值不正确 再提个弱智的问题 你那样做我不明白?为什么我那样写不行呢? |
|
8楼#
发布于:2005-04-25 18:05
---------------------------------------------------------- 可以这么说吧。。 I.IoctlBuffer()返回值指向一个固定的地址了(可以理解为常量吧) 你为一个常量赋值,,会正确吗? 尤其是指针哦,,,那些没有初始化的指针,你知道指向哪里啊? 按你那样做法就是:为一个常量指针赋值了一个没有具体指向的指针,,并且进行操作你说对吗?,,这样做很容易蓝屏或者死机。。 的。。。 |
|
|
9楼#
发布于:2005-05-09 15:57
谢谢 各位高手的指点,我今天又试了几下,还是有错误。
哪位能否给出个简单的例子??????我想在驱动程序中定义一个结构变量,然后从控制程序中得到读数。很简单啊。但我。。。。 [编辑 - 5/11/05 by qfzcx] |
|
10楼#
发布于:2005-05-11 19:59
怎么没人理我了,那位大哥能给个例子,(最好是完整的),高分相送,决不食言。求
|
|
11楼#
发布于:2005-05-12 09:56
怎么没人理我了,那位大哥能给个例子,(最好是完整的),高分相送,决不食言。求 我的垃圾贴看了吗?有源码啊! 里面结构,联合都有 |
|
|
12楼#
发布于:2005-05-12 10:09
老大,进不去啊,我早就试过怎么都进不去。
能否发到我的邮箱 qfzcx_sd@163.com 我是在驱动中定义一个结构,在应用程序中用DeviceIocontrol()得到结果,按aiwadgj老的的方法 我也没弄好。 |
|
13楼#
发布于:2005-05-12 11:21
建议你用F3切换到C,汇编混合模式,看看哪条指令出的问题,把相应的内存,寄存器的数值都打出来看看.
|
|
|
14楼#
发布于:2005-05-12 16:23
老大,进不去啊,我早就试过怎么都进不去。 好,发个给你,收着... :D |
|
|