20楼#
发布于:2004-08-05 11:25
地址是INT型的,在32位系统里是4Byte FAT32是2的32次方个簇,不会每个簇只有一个字节吧。至于OFFSET可以用LARGE_INTEGER吗。 不过MSDN上确实是说最大2G,加某些参数可以达到4G。至于不能再大,完全是别的原因。 |
|
21楼#
发布于:2004-08-05 11:33
用户被禁言,该主题自动屏蔽! |
|
22楼#
发布于:2004-08-05 11:35
我又找到了证据
所有语言 包括C/C++/VB/JAVA的文件长度函数的返回值都是一个LONG型的数值 单位为字节 所以,WIN2000所支持的最大文件大小也就是LONG的最大值了 这样解释合理不? |
|
|
23楼#
发布于:2004-08-05 11:37
[quote]地址是INT型的,在32位系统里是4Byte FAT32是2的32次方个簇,不会每个簇只有一个字节吧。至于OFFSET可以用LARGE_INTEGER吗。 不过MSDN上确实是说最大2G,加某些参数可以达到4G。至于不能再大,完全是别的原因。 [/quote] ―――――――――――――――――― 我将的是程序设计里的文件偏移,它的单位是字节,不是簇,簇很底层的概念了 |
|
|
24楼#
发布于:2004-08-05 11:40
用户被禁言,该主题自动屏蔽! |
|
25楼#
发布于:2004-08-05 11:41
我又找到了证据 不完全对,“C/C++/VB/JAVA的文件长度函数”应该为“WIN API的文件长度函数”,我敢肯定WINDOWS肯定不会用C的运行时库,所以跟什么语言没有关系。如: BOOL WriteFile( HANDLE hFile, // handle to file LPCVOID lpBuffer, // data buffer DWORD nNumberOfBytesToWrite, // number of bytes to write LPDWORD lpNumberOfBytesWritten, // number of bytes written LPOVERLAPPED lpOverlapped // overlapped buffer ); |
|
26楼#
发布于:2004-08-05 11:48
LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version MSVCRT.LIB Import library for MSVCRT.DLL, retail version windows程序大多一定会用到这三个库(不准确,但就那个意思) 我是这样理解的 文件是要靠应用程序去处理的 如果你的文件长度超过了API的处理长度 那么这样大的文件OS就是不能支持的 道理就好像BIOS只支持137G的空间,你却买了个250G的硬盘,要么升级BIOS,要么就不能完全使用你的硬盘,没有其他选择。 |
|
|
27楼#
发布于:2004-08-05 12:11
LIBC.LIB Single thread static library, retail version 基本就是这个意思,但是有一点 “windows程序大多一定会用到这三个库(不准确,但就那个意思)”,可是WINDOWS系统肯定不用这几个库。你可DEBUG一下fwrite这个C库函数,最终会到INT 2E的,也就是最终调用的是所说的UnDocument函数,一般是有一个API函数和其对应。 |
|
28楼#
发布于:2004-08-05 12:16
用户被禁言,该主题自动屏蔽! |
|
29楼#
发布于:2004-08-05 13:55
用户被禁言,该主题自动屏蔽! |
|
30楼#
发布于:2004-08-05 14:44
[quote]LIBC.LIB Single thread static library, retail version 基本就是这个意思,但是有一点 “windows程序大多一定会用到这三个库(不准确,但就那个意思)”,可是WINDOWS系统肯定不用这几个库。你可DEBUG一下fwrite这个C库函数,最终会到INT 2E的,也就是最终调用的是所说的UnDocument函数,一般是有一个API函数和其对应。 [/quote] ―――――――――――――――――――――― 对的 windows系统肯定是走INT 2E windows程序是在WINDOWS系统里运行的程序 ―――――――――――――――――――――― 我看看大于4G的文件怎么处理 |
|
|
31楼#
发布于:2004-08-05 14:45
有没有我的分啊
我放了这么多纯净水 |
|
|
32楼#
发布于:2004-08-05 15:40
[quote]FAT32分区有4G文件大小限制,别的就不清楚了 你在哪里,深圳,住在桃源村? [/quote] 哈哈,自己猜吧,像你这么猜法,永远也猜桃园村在哪! |
|
|
33楼#
发布于:2004-08-05 20:26
有没有我的分啊 矿物质水才有分! |
|
34楼#
发布于:2004-08-16 20:22
哈哈,看来大家讨论很好啊。 |
|
35楼#
发布于:2004-08-16 20:28
windows系统肯定是走INT 2E
一派胡言,在XP/2003以后你HOOK INT 2EH有个屁用???? |
|
|
36楼#
发布于:2004-08-16 20:47
我用过大于128G的大文件,只能在Server 2003 NTFS下可以,在其他操作系统下,当文件超过100G左右的时候,系统就崩溃了.
|
|
37楼#
发布于:2004-08-17 15:39
我用过大于128G的大文件,只能在Server 2003 NTFS下可以,在其他操作系统下,当文件超过100G左右的时候,系统就崩溃了. |
|
38楼#
发布于:2004-08-17 18:45
[quote]我用过大于128G的大文件,只能在Server 2003 NTFS下可以,在其他操作系统下,当文件超过100G左右的时候,系统就崩溃了.[/quote] |
|
上一页
下一页