阅读:707回复:0
help me !!!!如何加快IO的速度???急急。。。
在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 |
|