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

此题18分:GIVE ME A HAND ??? 怎样提高IO速度???

楼主#
更多 发布于:2002-07-23 19:31
在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操作。

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

多谢

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


[编辑 -  7/23/02 by  xiao_cao] :P :P

[编辑 -  7/24/02 by  xiao_cao]
游客

返回顶部