当前位置: 首页 > news >正文

网站设计理念怎么写外贸公司有必要建设网站吗

网站设计理念怎么写,外贸公司有必要建设网站吗,网站动态页面怎么做,wordpress 评论 作者稀疏文件(Sparse File), 指的是文件中出现大量的0数据#xff0c;这些数据对我们用处不大#xff0c;但是却一样的占用我们的空间#xff0c;针对此#xff0c;WINNT 3.51中的NTFS文件系统对此进行了优化#xff0c;那些无用的0字节被用一定的算法压缩起来#xff0c;使得…   稀疏文件(Sparse File), 指的是文件中出现大量的0数据这些数据对我们用处不大但是却一样的占用我们的空间针对此WINNT 3.51中的NTFS文件系统对此进行了优化那些无用的0字节被用一定的算法压缩起来使得这些0字节不再占用那么多的空间在你声明一个很大的稀疏文件时(例如 100GB)这个文件实际上并不需要占用这么大的空间因为里面大都是无用的0数据那么NTFS对稀疏文件的压缩算法可以释放这些无用的0字节空间 可以说这是对磁盘占用空间以及效率的一种优化记住FAT32上并不支持稀疏文件的压缩至少我在自己机子上测试得出如此结论。 这里我们将粗略的介绍 1如何判断一个磁盘是否支持稀疏文件。 2如何判断一个文件是否是稀疏文件。 3如何产生一个稀疏文件。 4假如系统支持稀疏文件如何声明这个文件是稀疏文件。 因为这是我工作中出现的问题所以可能不会深究里面的算法和操作系统机制但是文章末尾会附上参考资料。  若有问题可以联系我 shawn.huangprotegrity.com(工作邮箱)  或者 lonestepgmail.com(私人邮箱)  1.1   判断一个磁盘是否是稀疏文件。 我们可以通过一个系统函数GetVolumeInformation 来判断某个磁盘是否支持稀疏文件的压缩。MSDN中的函数原型如下 GetVolumeInformation The GetVolumeInformation function retrieves information about a file system and volume that have a specified root directory. BOOL GetVolumeInformation( LPCTSTR lpRootPathName,LPTSTR lpVolumeNameBuffer,DWORD nVolumeNameSize,LPDWORD lpVolumeSerialNumber,LPDWORD lpMaximumComponentLength,LPDWORD lpFileSystemFlags,LPTSTR lpFileSystemNameBuffer,DWORD nFileSystemNameSize );我们只要把查询到的Flag 跟 FILE_SUPPORTS_SPARSE_FILES 位与()便可以知道该磁盘是否支持。这是从我的工具集(toolset)里摘录的例子代码CHAR szVolName[MAX_PATH], szFsName[MAX_PATH];DWORD dwSN, dwFSFlag, dwMaxLen, nWritten;BOOL bSuccess;HANDLE hFile;bSuccess  GetVolumeInformation(NULL,szVolName,MAX_PATH,dwSN, dwMaxLen, dwFSFlag, szFsName,MAX_PATH);if (!bSuccess) {printf(errno:%d, GetLastError());return -1;}printf(vol name:%s /t fs name:%s sn: %d./n, szVolName, szFsName, dwSN);if (dwFSFlagFILE_SUPPORTS_SPARSE_FILES) {printf(support sparse file./n);}else{printf(no support sparse file./n);}2.1 如何判断一个文件是否是稀疏文件。我们可以通过 GetFileInformationByHandle()函数来判断一个文件是否是稀疏文件。这是MSDN里面的定义。The GetFileInformationByHandle function retrieves file information for the specified file.BOOL GetFileInformationByHandle( HANDLE hFile,LPBY_HANDLE_FILE_INFORMATION lpFileInformation );例子代码如下 HANDLE hFile; BY_HANDLE_FILE_INFORMATION stFileInfo//Open/create file to get the file handle hFile  CreateFile(); //Get the file information GetFileInformationByHandle(hFile, stFileInfo);if(stFileInfo.dwFileAttributes  FILE_ATTRIBUTE_SPARSE_FILE) {//Sparse file }else{//Not sparse file }3.1, 如何产生一个稀疏文件并声明该文件是稀疏文件。 大部分文件在你改变它的EndOfFile的时候中间的空白会被操作系统填0也就是说如果你用SetFilePointer() 和SetEndOfFile()来产生一个很大的文件那么这个文件它占用的是真正的磁盘空间即使里面全是0因为系统默认的会在DeviceIoControl()中的ControlCode里用FSCTL_SET_ZERO_DATA标记这个标记使得那些文件空洞被0所填充。为了节省磁盘空间我们必须把一个文件声明为稀疏文件以便让系统把那些无用的0字节压缩并释放相应的磁盘空间方法如下     hFile  CreateFile(tmp_file, GENERIC_WRITE|GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,0,NULL);DWORD dwTemp;DeviceIoControl(hFile,FSCTL_SET_SPARSE, NULL,0,NULL,0,dwTemp,NULL);SetFilePointer(hFile, 0x100000, NULL, FILE_BEGIN);WriteFile(hFile,123,3,nWritten,NULL);SetEndOfFile(hFile);CloseHandle(hFile); 注意到FSCTL_SET_SPARSE这个标记了吗正是这个标记告诉系统该文件是稀疏文件如果该文件所在的磁盘支持稀疏 文件的压缩则系统会释放不必要的0字节空间。你可以用这个方法创建一个100GB得文件试一下(示例里是1M)记得右键看看文件属性 里的‘大小’和占用空间它被声明为100GB但是实际上那些0字节基本不占用空间而你写入的“123”是占用实际的 磁盘空间的。 注意在FAT32得磁盘里因为没有对SPARSE FILE得支持所以您创建的空洞文件全部被填零即使你声明它是一个稀疏文件也没有任何作用您声明这个文件多大它就占用多大的空间。 另外如果您编译 DeviceIoControl这个函数出现 FSCTL_SET_SPARSE : undeclared identifier之类的情况请这样做#include windows.h #define   _WIN32_WINNT         0x0501 #include Winioctl.h
http://wiki.neutronadmin.com/news/76262/

相关文章:

  • 没有网站做cpa泉州网站开发企业
  • 网站定制开发注意事项网页手机小游戏
  • 保安公司网站如何做商务卫士包括网站建设
  • 建设大型门户网站做百科权威网站有哪些
  • 公司网站可以做服务器吗注册网站那里能注册
  • 网站制作推广名片型网站开发
  • 建设网站用什么技术多种专业网站建设
  • wordpress_子网站重命名自建网站定位
  • 做网站都需要买什么wordpress静态优化
  • 网站租金可以做办公费吗电脑网站转手机版
  • 怎么做网站的登录界面做金融平台网站需要多少钱
  • 网站开发项目经验用ps做网站设计
  • 商城网站建设专业公司网站开发建议
  • 南靖县建设局网站建设网站能解决什么问题
  • 学网站开发学费多少资讯网站排版
  • 互联网站安全管理服务平台pc网站转换成wap
  • 网站推广的6个方法是什么深圳物流公司哪家便宜又好
  • 新手建设网站的步骤杭州网站开发工资
  • 建个小型网站虚拟主机 vps网站服务器用什么好处
  • 与铁路建设相关的网站软件开发专业需要学什么
  • 免费素材网站哪个最好门户网站主要包括哪些模块
  • 网站由哪几部分组成wordpress与phpstudy
  • 怎样建网站才赚钱网页升级紧急通知俏佳人
  • 专做袜子的网站电脑wordpress
  • 门户网站为什么衰落网游推广员
  • 黄埔移动网站建设商贸有限公司的经营范围
  • 专业网站建设机构免费的行情软件app网站
  • 提高网站订单转化率网站上可以做直播吗
  • 专业的网页设计和网站制作公司岳池县网站建设
  • 成都企业网站维护网站建设必须注意的事项