📄 bzlib_huffman.lst
字号:
GAS LISTING /tmp/ccRSZRFA.s page 1 1 .section .mdebug.abi32 2 .previous 3 .section .debug_abbrev,"",@progbits 4 $Ldebug_abbrev0: 5 .section .debug_info,"",@progbits 6 $Ldebug_info0: 7 .section .debug_line,"",@progbits 8 $Ldebug_line0: 9 0000 18010000 .text 9 02006700 9 00000101 9 FB0E0A00 9 01010101 10 $Ltext0: 11 .align 2 12 .globl BZ2_hbMakeCodeLengths 13 .ent BZ2_hbMakeCodeLengths 14 .type BZ2_hbMakeCodeLengths, @function 15 BZ2_hbMakeCodeLengths: 16 $LFB2: 17 .file 1 "/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c" 1:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** /*-------------------------------------------------------------*/ 2:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** /*--- Huffman coding low-level stuff ---*/ 3:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** /*--- huffman.c ---*/ 4:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** /*-------------------------------------------------------------*/ 5:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 6:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** /*-- 7:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** This file is a part of bzip2 and/or libbzip2, a program and 8:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** library for lossless, block-sorting data compression. 9:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 10:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Copyright (C) 1996-2002 Julian R Seward. All rights reserved. 11:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 12:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Redistribution and use in source and binary forms, with or without 13:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** modification, are permitted provided that the following conditions 14:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** are met: 15:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 16:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 1. Redistributions of source code must retain the above copyright 17:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** notice, this list of conditions and the following disclaimer. 18:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 19:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 2. The origin of this software must not be misrepresented; you must 20:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** not claim that you wrote the original software. If you use this 21:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** software in a product, an acknowledgment in the product 22:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** documentation would be appreciated but is not required. 23:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 24:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 3. Altered source versions must be plainly marked as such, and must 25:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** not be misrepresented as being the original software. 26:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 27:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 4. The name of the author may not be used to endorse or promote 28:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** products derived from this software without specific prior written 29:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** permission. 30:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 31:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 32:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 33:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 34:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 35:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTEGAS LISTING /tmp/ccRSZRFA.s page 2 37:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 38:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 39:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 40:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 41:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 42:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 43:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Julian Seward, Cambridge, UK. 44:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** jseward@acm.org 45:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** bzip2/libbzip2 version 1.0 of 21 March 2000 46:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 47:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** This program is based on (at least) the work of: 48:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Mike Burrows 49:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** David Wheeler 50:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Peter Fenwick 51:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Alistair Moffat 52:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Radford Neal 53:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Ian H. Witten 54:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Robert Sedgewick 55:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Jon L. Bentley 56:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 57:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** For more information on these sources, see the manual. 58:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** --*/ 59:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 60:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 61:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** #include "bzlib_private.h" 62:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 63:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** /*---------------------------------------------------*/ 64:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** #define WEIGHTOF(zz0) ((zz0) & 0xffffff00) 65:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** #define DEPTHOF(zz1) ((zz1) & 0x000000ff) 66:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** #define MYMAX(zz2,zz3) ((zz2) > (zz3) ? (zz2) : (zz3)) 67:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 68:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** #define ADDWEIGHTS(zw1,zw2) \ 69:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** (WEIGHTOF(zw1)+WEIGHTOF(zw2)) | \ 70:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** (1 + MYMAX(DEPTHOF(zw1),DEPTHOF(zw2))) 71:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 72:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** #define UPHEAP(z) \ 73:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** { \ 74:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Int32 zz, tmp; \ 75:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** zz = z; tmp = heap[zz]; \ 76:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** while (weight[tmp] < weight[heap[zz >> 1]]) { \ 77:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** heap[zz] = heap[zz >> 1]; \ 78:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** zz >>= 1; \ 79:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** } \ 80:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** heap[zz] = tmp; \ 81:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** } 82:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 83:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** #define DOWNHEAP(z) \ 84:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** { \ 85:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Int32 zz, yy, tmp; \ 86:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** zz = z; tmp = heap[zz]; \ 87:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** while (True) { \ 88:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** yy = zz << 1; \ 89:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** if (yy > nHeap) break; \ 90:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** if (yy < nHeap && \ 91:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** weight[heap[yy+1]] < weight[heap[yy]]) \ 92:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** yy++; \ 93:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** if (weight[tmp] < weight[heap[yy]]) break; \GAS LISTING /tmp/ccRSZRFA.s page 3 94:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** heap[zz] = heap[yy]; \ 95:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** zz = yy; \ 96:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** } \ 97:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** heap[zz] = tmp; \ 98:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** } 99:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 100:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 101:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** /*---------------------------------------------------*/ 102:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** void BZ2_hbMakeCodeLengths ( UChar *len, 103:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Int32 *freq, 104:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Int32 alphaSize, 105:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Int32 maxLen ) 106:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** { 18 .loc 1 106 0 19 .frame $sp,5176,$31 # vars= 5168, regs= 2/0, args= 0, gp= 0 20 .mask 0x00030000,-4 21 .fmask 0x00000000,0 22 .set noreorder 23 .set nomacro 24 25 0000 C8EBBD27 addiu $sp,$sp,-5176 26 $LCFI0: 27 0004 2178C000 move $15,$6 28 0008 3414B1AF sw $17,5172($sp) 29 $LCFI1: 30 000c 3014B0AF sw $16,5168($sp) 31 $LCFI2: 32 .loc 1 106 0 33 0010 21C88000 move $25,$4 34 0014 2130A000 move $6,$5 35 0018 2180E000 move $16,$7 107:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** /*-- 108:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Nodes and heap entries run from 1. Entry 0 109:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** for both the heap and nodes is a sentinel. 110:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** --*/ 111:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Int32 nNodes, nHeap, n1, n2, i, j, k; 112:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Bool tooLong; 113:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 114:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Int32 heap [ BZ_MAX_ALPHA_SIZE + 2 ]; 115:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Int32 weight [ BZ_MAX_ALPHA_SIZE * 2 ]; 116:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** Int32 parent [ BZ_MAX_ALPHA_SIZE * 2 ]; 117:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 118:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** for (i = 0; i < alphaSize; i++) 36 .loc 1 118 0 37 001c 21400000 move $8,$0 38 0020 0D00E019 blez $15,$L69 39 0024 0100F129 slt $17,$15,1 40 41 $L7: 119:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** weight[i+1] = (freq[i] == 0 ? 1 : freq[i]) << 8; 42 .loc 1 119 0 43 0028 80200800 sll $4,$8,2 44 002c 21108600 addu $2,$4,$6 45 0030 0000458C lw $5,0($2) 46 .loc 1 118 0 47 0034 01000825 addiu $8,$8,1 48 .loc 1 119 0GAS LISTING /tmp/ccRSZRFA.s page 4 49 0038 00010324 li $3,256 # 0x100 50 003c 00120500 sll $2,$5,8 51 0040 0B184500 movn $3,$2,$5 52 0044 21209D00 addu $4,$4,$sp 53 .loc 1 118 0 54 0048 2A100F01 slt $2,$8,$15 55 .loc 1 119 0 56 .loc 1 118 0 57 004c F6FF4014 bne $2,$0,$L7 58 0050 140483AC sw $3,1044($4) 59 60 0054 0100F129 slt $17,$15,1 61 $L69: 120:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 121:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** while (True) { 122:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 123:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** nNodes = alphaSize; 124:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** nHeap = 0; 125:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 126:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** heap[0] = 0; 127:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** weight[0] = 0; 128:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** parent[0] = -2; 62 .loc 1 128 0 63 0058 FEFF0224 li $2,-2 # 0xfffffffffffffffe 64 $L75: 65 005c 200CA2AF sw $2,3104($sp) 66 .loc 1 126 0 67 0060 0000A0AF sw $0,0($sp) 68 .loc 1 127 0 69 0064 1004A0AF sw $0,1040($sp) 70 .loc 1 123 0 71 0068 2170E001 move $14,$15 72 .loc 1 124 0 73 006c 21600000 move $12,$0 129:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 130:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** for (i = 1; i <= alphaSize; i++) { 74 .loc 1 130 0 75 0070 C4002016 bne $17,$0,$L53 76 0074 01000824 li $8,1 # 0x1 77 78 0078 FFFF0D24 li $13,-1 # 0xffffffffffffffff 79 007c 0400AA27 addiu $10,$sp,4 80 0080 2158A003 move $11,$sp 81 $L16: 131:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** parent[i] = -1; 132:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** nHeap++; 82 .loc 1 132 0 83 0084 01008C25 addiu $12,$12,1 84 $LBB2: 133:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** heap[nHeap] = i; 134:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** UPHEAP(nHeap); 85 .loc 1 134 0 86 0088 43100C00 sra $2,$12,1 87 008c 04006B25 addiu $11,$11,4 88 0090 80100200 sll $2,$2,2 89 0094 21105D00 addu $2,$2,$sp 90 $LBE2:GAS LISTING /tmp/ccRSZRFA.s page 5 91 .loc 1 133 0 92 0098 000068AD sw $8,0($11) 93 $LBB3: 94 .loc 1 134 0 95 009c 0000438C lw $3,0($2) 96 00a0 1004498D lw $9,1040($10) 97 $LBE3: 98 .loc 1 131 0 99 00a4 200C4DAD sw $13,3104($10) 100 $LBB4: 101 .loc 1 134 0 102 00a8 80180300 sll $3,$3,2 103 00ac 21187D00 addu $3,$3,$sp 104 00b0 1004628C lw $2,1040($3) 105 00b4 2A102201 slt $2,$9,$2 106 00b8 12004010 beq $2,$0,$L51 107 00bc 21388001 move $7,$12 108 109 $L15: 110 00c0 43280700 sra $5,$7,1 111 00c4 80100500 sll $2,$5,2 112 00c8 21105D00 addu $2,$2,$sp 113 00cc 0000468C lw $6,0($2) 114 00d0 80200700 sll $4,$7,2 115 00d4 43180500 sra $3,$5,1 116 00d8 21209D00 addu $4,$4,$sp 117 00dc 80180300 sll $3,$3,2 118 00e0 21187D00 addu $3,$3,$sp 119 00e4 000086AC sw $6,0($4) 120 00e8 0000628C lw $2,0($3) 121 00ec 80100200 sll $2,$2,2 122 00f0 21105D00 addu $2,$2,$sp 123 00f4 1004438C lw $3,1040($2) 124 00f8 2A182301 slt $3,$9,$3 125 00fc F0FF6014 bne $3,$0,$L15 126 0100 2138A000 move $7,$5 127 128 $L51: 129 0104 80100700 sll $2,$7,2 130 0108 21105D00 addu $2,$2,$sp 131 010c 000048AC sw $8,0($2) 132 $LBE4: 133 .loc 1 130 0 134 0110 01000825 addiu $8,$8,1 135 0114 2A10E801 slt $2,$15,$8 136 0118 DAFF4010 beq $2,$0,$L16 137 011c 04004A25 addiu $10,$10,4 138 135:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** } 136:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 137:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** AssertH( nHeap < (BZ_MAX_ALPHA_SIZE+2), 2001 ); 138:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** 139:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** while (nHeap > 1) { 140:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** n1 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1); 141:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** n2 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1); 142:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** nNodes++; 143:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** parent[n1] = parent[n2] = nNodes;GAS LISTING /tmp/ccRSZRFA.s page 6 144:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** weight[nNodes] = ADDWEIGHTS(weight[n1], weight[n2]); 145:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** parent[nNodes] = -1; 146:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** nHeap++; 147:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_huffman.c **** heap[nHeap] = nNodes;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -