一个关于内存及硬盘读写的问题。写内存成块的写比一个字节一个字节的写肯定要快的,但是谁能够告诉我,在C里分别用那个API或者库函数来实现。
回复(7) 2002-10-24 12:52 来自版块 - 内核编程
表情
Tom_lyd关于磁盘调度本身就是操作系统的一个任务,Windows操作系统对此已经有较好的算法,使得磁盘磁头移动的次数最少而写入的数据最多。除之此外,Windows自身已经有了缓冲策略(你可以开一个编辑软件,随意拷一些东西进去,然后Save,你会发现硬盘的灯不一定会亮,这说明,系统已经为你缓...(2002-10-24 17:32)
sipuTo fracker: 但是我如果用 memset(ptr,0,size); 或者 ZeroMemory(ptr,size); 哪个会更好呢?又比如 memcpy和CopyMemory哪个会更有效率一些?同样是API,如Koms Bomb 所...(2002-10-24 15:36)
fracker调用Windows API不需要考虑这个问题,因为系统本身就有很强大的Cache管理机制帮你做这些了。(2002-10-24 15:05)
VanCheerTo Tom_lyd: 使用Windows的API是否内部调用了写盘中断呢?使用下面的代码fread(mbptr, 1, size, file); 效率应该是非常低的,采用什么样的函数会提高?有没有量的概念?另外,如果不写到硬盘中去,仅在内存中传输或拷贝数据,是否也存...(2002-10-24 14:37)
sipuTo Tom_lyd: 使用Windows的API是否内部调用了写盘中断呢?使用下面的代码fread(mbptr, 1, size, file); 效率应该是非常低的,采用什么样的函数会提高?有没有量的概念?另外,如果不写到硬盘中去,仅在内存中传输或拷贝数据,是否也存...(2002-10-24 14:33)
Tom_lyd一个关于内存及硬盘读写的问题。 写内存成块的写比一个字节一个字节的写肯定要快的,但是谁能够告诉我,在C里分别用那个API或者库函数来实现。 调用写盘中断来实现 int86 int86x intdos intdosx intr(2002-10-24 13:59)
VanCheer看看File Mapping APIs 一定有用,对你帮助太大了(2002-10-24 13:04)

返回顶部