我正在尝试编写一些适用于
Linux和Win32的代码.我发现它们之间最显着的区别(在我的代码中)是fopen()的性能.
以下代码在我的Ubuntu上需要5秒,而相同的代码在Windows XP上需要超过100秒.我想在这里做一个说明,ubuntu是VM,而XP是在真机上.
以下代码在我的Ubuntu上需要5秒,而相同的代码在Windows XP上需要超过100秒.我想在这里做一个说明,ubuntu是VM,而XP是在真机上.
time_t start = time(NULL); for(int i=0; i < 100000; ++i){ FILE *fp = fopen("a.txt","a"); if (fp != NULL) { fprintf(fp,"Hello World"); fclose(fp); } } time_t end = time(NULL); printf("\n It took %d seconds \n",end-start);
很明显,fopen()是造成这种差异的原因.我想知道为什么会有这么大的差异?