⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00readme.txt

📁 给出了 zip 压缩算法的完整实现过程。
💻 TXT
字号:
***************************************************** vms/00readme.txt ****************************************************Additional information for compiling Zip for VMS:A) Support for storing VMS specific file attributes   ================================================The current version of Zip comes with two different types of supportto store VMS file attributes in extra blocks:  -- the traditional Info-ZIP format in vms/vms_im.cand  -- a new PKware (ASI) type extra field structure in vms/vms_pk.cBoth versions should supply exactly the same functionality.Up to Zip 2.1, the default configuration was to use the traditional IM style,since it was well tested and known to be stable.==> NEW <==As of Zip 2.2, this default has been changed to use PK style extra fieldformat. This change is needed to support indexed VMS files. TheIM style code in UnZip (!!) has a known problem that prevents the correctrestoring operation for some (but not all) indexed VMS files.IMPORTANT: To extract new PK style extra fields, Info-ZIP's           UnZip version 5.2 or newer is required, previous           versions will crash with an access violation !!!!If you want to use the old IM style support (to achieve compatibilitywith older versions of UnZip), the preprocessor symbol VMS_IM_EXTRAhas to be defined at compile time.MMS (MMK) users have to edit vms/descrip.mms and add this symbol tothe definition of the COMMON_DEFS macro; for example:COMMON_DEFS = VMS_IM_EXTRA,if VMS_IM_EXTRA is the only option. (NOTE the trailing comma!)Users of the DCL make procedure can select the PK style support by definingthe DCL symbol LOCAL_ZIP as a list of user specific compilation options(do not forget the trailing comma!!). Example:$ LOCAL_ZIP == "VMS_IM_EXTRA,"B) Notes on the compiler switches used on VMS:   ===========================================The source has been successfully compiled on VMS 6.1 (VMS 6.2 for AXP), using - DEC C 5.2 and 5.6 for Alpha AXP - DEC C 4.0 for VMS VAX - VAX C 3.21. Discussion of the /STANDARD switch:With the exception of some few rough spots in the VMS specific sources,the code is fully compatible with the "RELAXED_ANSI" mode of the DEC Ccompilers. The problems found in vmsmunch.c and vms_pk.c are causedby incompatibles between the system include headers supplied for DEC C(AXP) and DEC C (VAX) which cannot get worked around. (Some systemservice structure members have type "unsigned int"  in the VAX version,but "pointer to [miscellanous]" in the AXP headers.)I consider the AXP headers to show the direction of `future developement'and have adapted the sources to match the AXP's header files.This means:On Alpha AXP, we can equally well use "/STANDARD=RELAXED" instead of"/STANDARD=VAXC" without getting any warnings.With the current release of DEC C on VAX, the /STANDARD=VAXC switch isrequired to suppress the "assignment to incompatible type" warnings.Beginning with the Zip 2.1 release, the compiler mode for Alpha AXP hasbeen changed to "/STANDARD=RELAX", since the "ANSI mode" executables areslightly smaller.2. The /PREFIX_LIBRARY_ENTRIES switch:In (strict and relaxed) ANSI mode on Alpha AXP, only the standard ANSIRTL function names get prefixed with "DECC$" by the compiler per default.This results in unresolved references to such functions as "read()", "open()""lseek()" at link step. (The same might be true for earlier releases of DEC Con VAX.) To resolve this problem, one has to explicitely request prefixingof all DEC C RTL function by applying the "/PREFIX=ALL" switch.Although this switch is not needed in "VAXC" mode, it does not hurt either.Therefore, "/PREFIX=ALL" is applied regardless of the compilation mode,to avoid any problems when switching over to ANSI standard mode in the future.C) Support for UT extra field UTC time stamps   ==========================================Beginning with Zip 2.1 and UnZip 5.2, the Info-ZIP compression utilitiesdo principally support saving and restoring the modification time ofZipfile entries as UTC (GMT) universal time. This new information isstored in an "extra field" labeled "UT" (Unix style GMT modification/accesstimes, ...).Previous version of Zip and UnZip used local time, stored in MSDOS compatibleformat (as specified by PKware for the Zip file format). This practice causeda lot of "time synchronization" trouble when transporting Zip archives worldwide between largely different time zones.Unfortunately, VMS (and the VMS C runtime environment) up to VMS 6.x does notcontain support for timezone handling and assumes "local time == UTC time".This has changed with the release of VMS 7.0, which does (finally) supportthe concept of "universal world time" that is required for time synchronizationin intercontinental networks...For this reason, the UTC time stamp support is disabled in VMS Zip by default,otherwise users would experience annoying time stamp deviations whenlocally transfering Zip archives between VMS nodes and other (UNIX, OS/2,WinNT/Win95, MSDOS) systems.But when compiled on a VMS 7.x system, the UTC "UT extra field" support isautomatically enabled.For users located in the GMT time zone (or a nearby timezone, like CET),it might be worthwhile to enable UTC support by hand.The default configuration can be overridden by defining one of thefollowing preprocessor macro:  USE_EF_UT_TIME        includes "UT" time stamp support  NO_EF_UT_TIME         disables "UT" time stamp supportWhen using MMS/MMK, you should add the appropiate symbol to the "COMMON_DEFS"list in vms/descrip.mms; if the command procedure is used for compiling,you can add the macro to the "LOCAL_ZIP" DCL symbol.14-Oct-1997 Christian Spieler

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -