在两台WIN98下,为什么以下代码用Turboc2.0和VC++6.0编译后,程序执行的速度不同(用VC++编的要比用C编的慢十几倍,同时用C编写的程序在第一次的运行时间要比以后运行时间慢),能否将VC++下程序的执行速度提高到C下的执行速度?
#include "io.h"
#include "fcntl.h" int a=0,b;
int handle;
char workbufs[4096];
DWORD dr;
handle = open("H:\\20020101\\01izm146.ndx",O_RDONLY|O_BINARY);
/*注:H:\\20020101\\01izm146.ndx为另一台WIN98上的一个文件*/
for(a;a<30000;a++)
{
b=read(handle,workbufs,4096);
};
/*以上程序用于读取远程文件.*/
/*注:WIN98访问WIN98有这个问题,WIN98访问WIN2000不存在这个问题,如果是访问本地文件也不存在这个问题(包括WIN98访问WIN98和WIN98访问WIN2000)*/
#include "io.h"
#include "fcntl.h" int a=0,b;
int handle;
char workbufs[4096];
DWORD dr;
handle = open("H:\\20020101\\01izm146.ndx",O_RDONLY|O_BINARY);
/*注:H:\\20020101\\01izm146.ndx为另一台WIN98上的一个文件*/
for(a;a<30000;a++)
{
b=read(handle,workbufs,4096);
};
/*以上程序用于读取远程文件.*/
/*注:WIN98访问WIN98有这个问题,WIN98访问WIN2000不存在这个问题,如果是访问本地文件也不存在这个问题(包括WIN98访问WIN98和WIN98访问WIN2000)*/
__fastcall 和 Maximine Speed ,并使用Release版
试试看?
/*注:WIN98访问WIN98有这个问题,WIN98访问WIN2000不存在这个问题,如果是访问本地文件也不存在这个问题(包括WIN98访问WIN98和WIN98访问WIN2000)*/不好意思,上面这段话没看仔细,这应该不是VC或C的问题,而是网络的问题
一起关注!!!
在我看来,TC中的READ函数调用的是16位的API函数,而VC中的函数调用的是32位的API函数。