文章关键字 ‘Windows’

在Windows下编译zlib 1.25

2011年09月19日,星期一

1、从 zlib 官网上下载 zlib 1.25 的源码,解压到 zlib-1.2.5

2、打开 Visual C++ 命令提示符,把当前目录切换到 zlib-1.2.5 所在的目录

3、输入命令

nmake -f win32/Makefile.msc

(更多…)

Windows下开发并编译PHP扩展

2011年03月11日,星期五

原来Windows下编译PHP拓展可以如此简单,感谢D大的指导。

以下内容为复制粘贴:

(更多…)

md5sum for windows

2011年01月12日,星期三

和前面一篇一样,Linux中md5sum命令的C语言简单实现。

[download id=57]

sha1sum for windows

2011年01月11日,星期二

Linux可以用sha1sum命令来校验文件的sha1值,Windows下也不乏sha1校验的工具。其实自己实现一个简单的sha1sum程序并不难,只要知道sha1算法就可以了,不知道也不要紧,复制粘贴总会吧。

下面就是我“复制粘贴”出来的sha1sum程序,纯ANSI C实现。

[download id=56]

文件属性中“大小”和“占用空间”的区别

2010年11月29日,星期一

很多人一直在困惑,一个文件或文件夹属性中的“大小(Size)”和“占用空间(Size on disk)”通常不相互匹配。“大小”的值表示文件实际大小的字节数,而“占用空间”的值表文件占用硬盘空间大小的字节数。

这种差异来自文件系统在驱动器上存储的文件的方式。为了减少使用的地址数量,文件系统把一定数量的字节当成簇。根据不同的文件系统,常见的簇大小可以从2KB的到32KB。一个被写入到磁盘的文件需要占用若干个不相连的簇,而无论文件的实际大小。因此,一个1KB的文件,保存在一个簇大小为2KB的文件系统将占用2KB,但保存在一个簇大小为32KB的文件系统,它会占用32KB。也就是说,一个33KB的文件将占用17个2KB的簇(34KB)或2个32KB的簇(64KB)。

基于上述的讨论,你会期望占用空间的大小会比实际大小更大,但是多出的部分不会超过一个簇的大小。在查看一个有很多文件的文件夹时,这种差异可能会更大,因为每个单独文件浪费的空间加起来会体现在文件夹上。

简单地说,就是:

  1. “大小”是文件的实际字节数,而“占用空间”的是在磁盘上占用的字节数。
  2. “占用空间”通常比“大小”要大,但也可以和“大小”一样

公式(JavaScript描述):

//簇大小,一般为4KB
var cluster = 4096;
//文件大小,单位为字节
var size = 4282661;
//占用大小,单位为字节
var size_on_disk = 
Math.ceil(size / cluster) * cluster;
//回显
WScript.Echo(size_on_disk);

参考链接:Difference Between Size vs Size on Disk