- рдЖрдк рдпрд╣ рдирд╣реАрдВ рдХрд╣реЗрдВрдЧреЗ рдХрд┐ рдЕрдм рд╢реВрдиреНрдп рд╕реЗ рдХрд┐рддрдиреЗ рдбрд┐рдЧреНрд░реА рдиреАрдЪреЗ рд╣реИ?
- рдХреНрдпреЛрдВ?
- рдЕрдЪреНрдЫрд╛, рдореИрдВ ... рдореИрдВ рдЯреНрд░реЗрдирд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
- рдЯреНрд░реЗрди рдмреЗрд╣рддрд░ .. (рдореЛрд░реНрдЧреБрдиреЛрд╡ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ) ... рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдкрд░ред
рд▓реЗрдЦ рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреБрдЫ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рдХреЗ рд╕рд╛рде
CMAKE рдФрд░ LZ4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрднрд╡ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
рдЬреЛ Makefiles рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ CMAKE рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ рд╡реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ
рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдПрдХ рдЫреЛрдЯреА рд╕реА рдУрдкрдирд╕реЛрд░реНрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓реЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдХрдИ рд▓рдХреНрд╖реНрдп (рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдвреВрдВрдврдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рд▓реЛрдХрдкреНрд░рд┐рдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рдЙрдЧ рдЖрдИ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐,
LZ4 рдкреИрдХрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдореНрдореАрджрд╡рд╛рд░ рдирд┐рдХрд▓рд╛ред LZ4 рдЕрднреА рднреА рдпреБрд╡рд╛ рд╣реИ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдФрд░ рд╕реБрдкрд░ рдлрд╛рд╕реНрдЯ рд╕реВрдЪрдирд╛ рд╕рдВрдкреАрдбрд╝рди рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╣реИ, рд╢рд╛рдпрдж рдЗрд╕реАрд▓рд┐рдП рдпрд╣ рдЫреЛрдЯрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдЯреБрдХрдбрд╝рд╛ рдЬрд▓реНрджреА рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рдпрд╣ рдХреИрд╢ рдореЗрдВ рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛)ред
LZ4 рдЬрд▓реНрджреА рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдХрдо рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд╕реНрдореГрддрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рдорддрд▓рдм рд╣реИред рдореИрдВ LPC2478 рдХреЗ рд▓рд┐рдП рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рдЬрдмрдХрд┐ рд░реИрдо рдХреА рдорд╛рддреНрд░рд╛ рдЬреЛ рдХрд┐ 12k рдереА (4k рдЗрдирдкреБрдЯ рдмрдлрд░ + 4k рдЖрдЙрдЯрдкреБрдЯ + 4k рд╢рдмреНрджрдХреЛрд╢)ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдХрд╛рд░рдг рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣ рдорд╛рддреНрд░рд╛ 256 ├Ч 6 + 256 рддрдХ рдХрдо рд╣реЛ рд╕рдХрддреА рд╣реИред рдлрд┐рд░ рднреА, рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдорддрджрд╛рди рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЪрд╛рд▓рд╛рдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рди рдХрд░реЗрдВ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрдХрд╛рд░ рдореЗрдВ 30 ~ 100 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ "рд▓рдЧрднрдЧ" рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд░рд┐рдХреЙрд░реНрдб рд╣реИрдВред рдЬреЛ рд▓реЛрдЧ рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ LZ4 LZ77 рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИред
рдЕрд▓рдЧ рдкреНрд░рд╢рдВрд╕рд╛ рдЕрдирдкреИрдХрд┐рдВрдЧ рдлрдВрдХреНрд╢рди рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ рдФрд░ рдХреЛрдб рдХреА рджрд░реНрдЬрдиреЛрдВ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдЖрдк рдЖрдзреБрдирд┐рдХ рдкреАрд╕реА рдкрд░ 1GB / s рдХреА рд╡рд┐рдШрдЯрди рдЧрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреНрдпрд╛ рд╣реИ?
рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреЛрдИ рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ
"рд╣реЗрд▓реЛ рд╢рдмреНрдж" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ UartInit () + uart_put_char () рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХрдИ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рддреИрдпрд╛рд░ рд╕реНрд░реЛрдд рдХреЛрдб рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдЯреИрдЯрд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрдИ рджрд╕рд┐рдпреЛрдВ рдФрд░ рдХреЛрдб рдХреЗ рд╕реИрдХрдбрд╝реЛрдВ рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЧрдВрднреАрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдВрдХрд▓рдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджрд╕рд┐рдпреЛрдВ рдФрд░ рд╕реИрдХрдбрд╝реЛрдВ рдлрд╛рдЗрд▓реЗрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдгрд╛рд▓реА рдХрд░рддреА рд╣реИред рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЪрд┐рддреНрд░ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рд╕реНрд░реЛрдд рдХреЛрдб тЖТ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо тЖТ рд╕рдВрдХрд▓рдХ тЖТ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ (рдУрдВ)рдмреЗрд╢рдХ, рдЖрдкрдХреА newfangled рдорд╛рд▓рд┐рдХрд╛рдирд╛ IDE рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рднреА рдмрд┐рд▓реНрдб рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧреА, рдмрд╕ рдмрд┐рд▓реНрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЬреИрд╕реЗ рд╣реА рдЖрдкрдХрд╛ "рдХреЛрдб рдмреЗрд╕" рдмрдврд╝рддрд╛ рд╣реИ, рдЖрдк рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВрдЧреЗред
рдЖрдкрдХреЗ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдХрдИ рдмрд┐рд▓реНрдб рд╡рд┐рдХрд▓реНрдк рд░рдЦрдиреЗ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░рдХ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
- рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ
- рдХрдИ рдмреЛрд░реНрдб
- рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рдпрдВрддреНрд░рдХ
- рдПрдХ рдкреАрд╕реА рдкрд░ рдХреЛрдб рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг
- рдмрдбрд╝реА рдЯреАрдо рдХреЗ рдХрд╛рд░рдг рдХрдИ рд╡рд┐рдХрд╛рд╕ рд╢рд╛рдЦрд╛рдПрдБ
рдЗрд╕ рддрд░рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣рдореЗрд╢рд╛ рд╣реЛрддреА рд╣реИ: "рдЪрд▓реЛ рдПрдХ ifdef рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ", рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд╣реБрдд рдЬрд▓реНрдж рдЖрдкрдХреЛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ ifdefs рдЕрдХреЗрд▓реЗ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЖрд╕рдкрд╛рд╕ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЛрдб рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред
makefiles
рдореЗрдХ рдпреВрдЯрд┐рд▓рд┐рдЯреА рдЕрдЦрд╛рдбрд╝реЗ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреА рд╣реИ, рдФрд░ рдХреНрд░реВрд░ рд▓реЛрдЧ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ рдЪрд╛рдмреА рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд┐рдпрдо рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдЬрд▓реНрджреА рд╕реЗ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░реЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреАрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рдФрд░ рдХрдИ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдореЗрдХрдлрд╛рдЗрд▓реНрд╕ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рдореЗрд╣рдирддреА рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ред рдореЗрдХ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб рдЖрд░реЗрдЦ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рд╕реНрд░реЛрдд рдХреЛрдб -> рдЬреАрдПрдирдпреВ рдореЗрдХ -> рд╕рдВрдХрд▓рдХ -> рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ (рдУрдВ)SMAKE
CMAKE рдПрдХ рдЙрдиреНрдирдд рдореЗрдХ рд╣реИред CmakeLists.txt рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд┐рдпрдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, CMAKE MAKE рдФрд░ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд╕реЗрдВрдмрд▓реА рдирд┐рдпрдВрддреНрд░рдг рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рддрд╛ рд╣реИ (рд╕рдорд░реНрдерд┐рдд рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА "cmake -help" рдЪрд▓рд╛рдХрд░ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ)ред рдЕрдм рд╕рд░реНрдХрд┐рдЯ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
рд╕реНрд░реЛрдд рдХреЛрдб тЖТ CMAKE тЖТ GNU MAKE рдпрд╛ NMAKE рдпрд╛ ...ред -> рд╕рдВрдХрд▓рдХ -> рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ (s)CMAKE I рдХреЗ рд▓рд╛рднреЛрдВ рдореЗрдВ рд╕реЗ:
- рд▓рд┐рд╕реНрдк-рдУ рдЕрд╕реЗрдВрдмрд▓реА рд░реВрд▓реНрд╕ рд▓реИрдВрдЧреНрд╡реЗрдЬ рдЕрдкрдиреЗ рдЖрдк рд╣реА MAKE рдХреА рддрд░рд╣ рд╣реА рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реИред рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╕реА рдкреНрд░рддрд┐рдорд╛рди рд╕реЗ рдХреБрдЫ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдореМрдХрд╛ред
- рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ, рдЖрдкрдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЖрдИрдбреАрдИ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдУрдПрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
- рди рдХреЗрд╡рд▓ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд┐рдпрдо рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдХреЛрдб-рдмреНрд▓реЙрдХ, рдПрдХреНрд▓рд┐рдкреНрд╕ рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВред
- рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрд╡рд╕рд░ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХрдИ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдСрдЯреЛрдореЗрдЯ рдФрд░ рдХреНрдпреВрдореЗрдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
- рдСрдЯреЛрдореИрдЯрд┐рдХ рдЕрд╕реЗрдВрдмрд▓реА рд╕рд┐рд╕реНрдЯрдо (CDASH), рдкреИрдХреЗрдЬрд┐рдВрдЧ (CPACK) рдФрд░ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ (CTEST) рд╣реИрдВред
- CMAKE рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИред рдХрдИ рд╡рд┐рдХрд╛рд╕ рджрд▓ рдЗрд╕рдХреЗ рддрд╣рдд рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЗрдбреАрдИ)ред
рдПрдореНрдмреЗрдбреЗрдб рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдореБрдЦреНрдп рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЕрдВрдд рдореЗрдВ, рдЖрдкрдХрд╛ рдХреЛрдб рдЕрдзрд┐рдХ рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдк рдЕрдзрд┐рдХ рдЖрд░рд╛рдорджрд╛рдпрдХ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреАрд╕реА рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрджрдо рдХрд░реАрдм рд╣реИрдВред рдЖрдк рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ BUILD рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреЛрдб рд░реЗрдб рдпрд╛ рдХреЙрдХреНрд╕реЙрдХреНрд╕ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди CMAKE рдХреЗ рд╕рд╛рде рдЖрдк IDE рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИрдВред
рдиреНрдпреВрдирддрдо рдкрд░рд┐рдпреЛрдЬрдирд╛
рдиреАрдЪреЗ рдПрдХ рд╕рд░рд▓ (рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рд╕рд░рд▓ рдирд╣реАрдВ) CmakeLists.txt рдлрд╝рд╛рдЗрд▓ рд╣реИред
cmake_minimum_required (VERSION 2.8) PROJECT(LZ4 C) set(SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/) ADD_DEFINITIONS("-Wall") ADD_DEFINITIONS("-W") ADD_DEFINITIONS("-Wundef") ADD_DEFINITIONS("-Wcast-align") ADD_DEFINITIONS("-Wno-implicit-function-declaration") ADD_DEFINITIONS("-O3 -march=native -std=c99") INCLUDE_DIRECTORIES (${SRC_DIR}) set(LZ4_SRCS_LIB lz4_decoder.h lz4_encoder.h ${SRC_DIR}lz4.c ${SRC_DIR}lz4hc.c ${SRC_DIR}lz4.h ${SRC_DIR}lz4_format_description.txt) set(LZ4_SRCS ${LZ4_SRCS_LIB} ${SRC_DIR}xxhash.c ${SRC_DIR}bench.c ${SRC_DIR}lz4c.c ) set(FUZZER_SRCS
make_minimum_required Cmake рдХрд╛ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЖрджреЗрд╢
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо, рд╕рд╛рде рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ (рдУрдВ) рдХреЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
рдХрдорд╛рдВрдб рдХреЛ рд▓реЛрдЕрд░рдХреЗрд╕ рдФрд░ рдЕрдкрд░рдХреЗрд╕ рджреЛрдиреЛрдВ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЖрдо
рд╕реЗрдЯ рдХрдорд╛рдВрдб, рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдФрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдХреБрдЫ рдПрдирд╛рд▓реЙрдЧ рд╣реИ, рдЬреИрд╕реЗ рдмреЗрд╕рд┐рдХ рдореЗрдВ
'рд▓реЗрдЯ' , рдпрд╣ рдереЛрдбрд╝рд╛ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛрдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрджрдд рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЕрдиреНрдп рдЪрд░ CMAKE рдореЗрдВ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ
$ {CMAKE_CURRENT_SOURCE_DIR} рд╣реИ ред рдЬреИрд╕реЗ рдмрдирд╛рдирд╛,
SRC_DIR рдЪрд░ рдХрд╛ рдирд╛рдо рд╣реИ, рдФрд░
$ {SRC_DIR} рдорд╛рди рд╣реИред CMAKE рдореЗрдВ рдЪрд░ рдХреЛ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЗрд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпрд╛ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рддреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
ADD_DEFINITIONS рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдореИрдХреНрд░реЛрдЬрд╝ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреАрдЬрд╝ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
add_executable рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп - рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
рдХрд╛ рд╡рд┐рдиреНрдпрд╛рд╕
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕рд╛ рдЫреЛрдЯрд╛ CmakeLists.txt рдЖрдкрдХреЛ LZ4 рдкреИрдХрд░ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ 94 рд╕рдВрд╢реЛрдзрди) рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХрдорд╛рдВрдб рдХрдВрд╕реЛрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рд╕рдВрдХреЗрддрд┐рдд рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде cmake рдЪрд▓рд╛рдПрдВ (рдПрд░рди рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрдЦреЗрдВ)ред

make рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рдХреБрдЫ рднреА рдЧреИрд░-рдорд╛рдирдХ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ - рдПрдХ рдореЗрдХрдлрд╛рдЗрд▓ рдФрд░ рдХреЛрдбрдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред
рдкрд╣рд▓реЗ Cmake рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪрд░рдг рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЖрдкрдХреЛ рд╕реАрдПрдордХреЗрдИ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рдВрд╕реНрдХрд░рдг (рдУрдПрд╕, рдХрдВрдкрд╛рдЗрд▓рд░) рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдЕрд╕реЗрдВрдмрд▓реА рд╣реЛрддреА рд╣реИред рдЖрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд╝рд╛рдЗрд▓реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреИрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред Cmake рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рддрд░реНрдХ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред Cmake рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рднреА рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдБрдЧрд╛ред
рдПрдХ рдмрдбрд╝реЗ рдЦрд┐рдВрдЪрд╛рд╡ рдХреЗ рд╕рд╛рде, рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, CMAKE, Gentoo Linux рдореЗрдВ Portage + automake рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рд▓реЗрдХрд┐рди Portage рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, Cmake рдЕрдЬрдЧрд░ рд╡рд┐рддрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ рд╣реИ, рдпрд╣ рдХрдИ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ (рдореБрдЦреНрдп рд░реВрдк рд╕реЗ Windows) рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реИред
рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд░реЗрдВ
рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдПрдХ) рдХреЛрдбрдмреНрд▓реЙрдХ рдмреА) рдореЗрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдореИрдВ рдЖрдкрдХреЛ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ 'рд╡реЗрд░рдмреЛрд╕ = 1 рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП' рдФрд░ 'рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдВ')ред рдореЗрдХ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрд╣рд╛рд░ рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП рд░рдВрдЧ рдЖрдЙрдЯрдкреБрдЯ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдкреНрд░рддрд┐рд╢рдд рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рднреАред
рдореНрдпрд╛рдК!
рдЕрдм рд╣рдорд╛рд░реЗ lz4 рдкреИрдХрд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдордЬреЗрджрд╛рд░ рд╣реИред
C: \ Desktop \ lz4> lz4c.exe -H
*** YZ рдХреЛрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ LZ4 рд╕рдВрдкреАрдбрд╝рди CLI, (1 рдордИ 2013) ***
рдЙрдкрдпреЛрдЧ:
lz4c.exe [arg] рдЗрдирдкреБрдЯ рдЖрдЙрдЯрдкреБрдЯ
рддрд░реНрдХ:
-c0 / -c: рддреЗрдЬреА рд╕реЗ рд╕рдВрдкреАрдбрд╝рди (рдбрд┐рдлрд╝реЙрд▓реНрдЯ)
-c1 / -hc: рдЙрдЪреНрдЪ рд╕рдВрдкреАрдбрд╝рди
-рдб: рдбреАрдХрдВрдкреНрд░реЗрд╕рди
-y: рдмрд┐рдирд╛ рд╕рдВрдХреЗрдд рдХреЗ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░реЗрдВ
-H: рд╕рд╣рд╛рдпрддрд╛ (рдпрд╣ рдкрд╛рда + рдЙрдиреНрдирдд рд╡рд┐рдХрд▓реНрдк)
рдЙрдиреНрдирдд рд╡рд┐рдХрд▓реНрдк:
-t: рдкрд░реАрдХреНрд╖рдг рд╕рдВрдкреАрдбрд╝рд┐рдд рдлрд╝рд╛рдЗрд▓
-B #: рдмреНрд▓реЙрдХ рдЖрдХрд╛рд░ [4-7] (рдбрд┐рдлрд╝реЙрд▓реНрдЯ: 7)
-x: рдмреНрд▓реЙрдХ рдЪреЗрдХрд╕рдо рд╕рдХреНрд╖рдо рдХрд░реЗрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ: рдЕрдХреНрд╖рдо)
-nx: рдЕрдХреНрд╖рдо рд╕реНрдЯреНрд░реАрдо рдЪреЗрдХрд╕рдо (рдбрд┐рдлрд╝реЙрд▓реНрдЯ: рд╕рдХреНрд╖рдо)
-b #: рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдлрд╝рд╛рдЗрд▓реЗрдВ, # [0-1] рд╕рдВрдкреАрдбрд╝рди рд╕реНрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░
-i #: рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд▓реВрдкреНрд╕ [1-9] (рдбрд┐рдлрд╝реЙрд▓реНрдЯ: 3), рдХреЗрд╡рд▓ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЛрдб
рдЗрдирдкреБрдЯ: 'рд╕реНрдЯрдбрд┐рди' (рдкрд╛рдЗрдк) рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдЖрдЙрдЯрдкреБрдЯ: 'рд╕реНрдЯрдбрдЖрдЙрдЯ' (рдкрд╛рдЗрдк) рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдпрд╛ 'рд╢реВрдиреНрдп' рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдЙрджрд╛рд╣рд░рдг: lz4c -hc stdin compressfile.lz4
рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдкреИрдХрд┐рдВрдЧред
C: \ Desktop \ lz4> lz4c.exe lz4c.exe lz4c.lz4
*** YZ рдХреЛрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ LZ4 рд╕рдВрдкреАрдбрд╝рди CLI, (1 рдордИ 2013) ***
56586 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ 98828 рдмрд╛рдЗрдЯреНрд╕ рд╕рдВрдкреАрдбрд┐рдд ==> 57.26%
0.03 s ==> 3.04 MB / s рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╣рдо рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВред
C: \ Desktop \ lz4> lz4c.exe -b lz4c.exe lz4c.lz4
*** YZ рдХреЛрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ LZ4 рд╕рдВрдкреАрдбрд╝рди CLI, (1 рдордИ 2013) ***
lz4c.exe: 98828 -> 56567 (57.24%), 163.3 рдПрдордмреА / рдПрд╕, 467.5 рдПрдордмреА / рдПрд╕
lz4c.lz4: 56586 -> 56278 (99.46%), 273.1 MB / s, 1442.1 MB / s
рдХреБрд▓: 155414 -> 112845 (72.61%), 191.3 рдПрдордмреА / рдПрд╕, 620.0 рдПрдордмреА / рдПрд╕
рдореЗрд░рд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдмрд╣реБрдд рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛, рд▓реЗрдХрд┐рди рдпреЗ рдЖрдВрдХрдбрд╝реЗ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╣реИрдВред
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░
рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ Cmake рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдЧрд╛ред рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдореИрдВ LZ4 рдХреЛрдбрд╛рдВрддрд░рдг рдХреЗ рдореБрджреНрджреЗ рдореЗрдВ рдЖрдЧреЗ рдХреЗ рд╢реЛрдз рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдЬреЛ рд▓реЛрдЧ рдЙрддреНрд╕реБрдХ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, LZ4 рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджреЛ CmakeLists рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ,
рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ рдФрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрди рджреЛрдиреЛрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдореИрдВ рдЕрднреА рддрдХ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдкрд╛рдпрд╛ рд╣реВрдВред рдЧреБрд░реБ make рд╣рд┐рдореНрдордд!