xiao_cao
驱动牛犊
驱动牛犊
  • 注册日期2002-04-22
  • 最后登录2002-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:707回复:0

help me !!!!如何加快IO的速度???急急。。。

楼主#
更多 发布于:2002-07-24 11:19
在WIN2000、XP下我要对某个端口要进行频繁的进行IO操作。例如以下在WIN98程序中的操作一样;

void Do(double &a,double &b); //要进行复杂的浮点数运算;

void Run() //运行的主函数;
{
for(int i=0;i<10000;i++)
{
Do(a,b);
_outb(0x300,a);
_outb(0x301,b);
}
}

我要将这代码移到WIN2000、XP下运行时,就势必要用WDM中的端口
输出函数,从而转到如下方式。

应用程序----->动态库(调用DeviceIoControl来实现与驱动程序的
对话)----->驱动程序进行IO操作(用的是直接对端口的而不是用的
对寄存器的操作)。WRITE_PORT_UCHAR

我进行实验得到如下结果。
即在WIN98下运行的代码只用0.11秒而在WIN2000、XP下用驱动程序
的代码花了3秒才能完成,这个问题如何解决请高手指点一二。

多谢

我的Email:xiao_cao@msn.com cao-feng-@163.com
游客

返回顶部