- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
msc51opt.dif
资源名称:unzip540.zip [点击查看]
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:3k
源码类别:
压缩解压
开发平台:
MultiPlatform
- Date: Mon, 28 Aug 1995 23:53:23 CET +0100
- From: "Christian Spieler, Institut fuer Kernphysik, Schlossgartenstr. 9,
- D-64289 Darmstadt" <SPIELER@linac.ikp.physik.th-darmstadt.de>
- Subject: More MSC 5.1 related patches for UnZip 5.20f2
- D) I want to suggest two small patches to allow the use of
- full optimization (including loop optimization) when compiling UnZip
- with MSC (5.1, and probably newer). There are only two small pieces
- of code (containing to deeply nested loops) that break MSC 5.1's loop
- optimization. I have guarded these loops with "#pragma loop_opt (off)"
- to allow loop optimization for the rest of the code. Here are the patches:
- ===================== cut here ========================
- diff -c ./inflate.c ./modif/inflate.c
- *** ./inflate.c Thu Oct 05 14:57:38 1995
- --- ./modif/inflate.c Thu Oct 05 14:58:24 1995
- ***************
- *** 1162,1173 ****
- --- 1162,1179 ----
- { /* too few codes for k-w bit table */
- f -= a + 1; /* deduct codes from patterns left */
- xp = c + k;
- + #if defined (MSC)
- + #pragma loop_opt (off)
- + #endif /* MS C compilers */
- while (++j < z) /* try smaller tables up to z bits */
- {
- if ((f <<= 1) <= *++xp)
- break; /* enough codes to use up j bits */
- f -= *xp; /* else deduct codes from patterns */
- }
- + #if defined (MSC)
- + #pragma loop_opt ()
- + #endif /* MS C compilers */
- }
- if ((unsigned)w + j > el && (unsigned)w < el)
- j = el - w; /* make EOB code end at table */
- diff -c ./zipinfo.c ./modif/zipinfo.c
- *** ./zipinfo.c Thu Oct 05 14:51:58 1995
- --- ./modif/zipinfo.c Thu Oct 05 14:52:42 1995
- ***************
- *** 1134,1145 ****
- --- 1134,1151 ----
- workspace[10] = 'E';
- p = attribs;
- + #if defined (MSC) && (!defined (_MSC_VER) || _MSC_VER < 600)
- + #pragma loop_opt (off)
- + #endif /* MS C, Version < 6.00 */
- for (k = j = 0; j < 3; ++j) { /* groups of permissions */
- for (i = 0; i < 4; ++i, ++k) /* perms within a group */
- if (workspace[k])
- *p++ = workspace[k];
- *p++ = ','; /* group separator */
- }
- + #if defined (MSC) && (!defined (_MSC_VER) || _MSC_VER < 600)
- + #pragma loop_opt ()
- + #endif /* MS C, Version < 6.00 */
- *--p = ' '; /* overwrite last comma */
- if ((p - attribs) < 12)
- sprintf(&attribs[12], "%d.%d", hostver/10, hostver%10);