Π‘ΠΎΡΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊ 0.9.0 Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ ZXC (github.com), ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ΅ Π°ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΠΈΠ³ΡΠΎΠ²ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π€ΠΎΡΠΌΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Β«ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π·Π°ΠΏΠΈΡΠ°ΡΡ, ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΡΠΈΡΠ°ΡΡΒ» (WORM).
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ², ΠΊΠ°ΠΊ LZ4, ZXC ΠΆΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΊΠΎΡΠΎΡΡΡΡ ΡΠΆΠ°ΡΠΈΡ ΡΠ°Π΄ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅.
ΠΠ΅ΠΊΠ»Π°ΡΠΈΡΡΠ΅ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π½Π° 40%+ Π²ΡΡΠ΅, ΡΠ΅ΠΌ Ρ LZ4 Π½Π° Apple Silicon, Π½Π° 25%+ Π²ΡΡΠ΅ Π½Π° Google Axion (ARM64) ΠΈ Π½Π° 5%+ Π²ΡΡΠ΅ Π½Π° x86_64, ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ.
Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ API ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π»ΠΎΠΊΠΎΠ², ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ API ΠΈ ABI, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° Π² ΠΊΡΡΠ΅, ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ Π² Ρ ΠΎΠ΄Π΅ ΡΠ°Π·Π·ΠΈΠ½Π³Π° ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΆΠ°ΡΠΈΡ.
ΠΠ°Π½Π½ΡΠΉ ΡΠ΅Π»ΠΈΠ· ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π°ΡΡΡΠ°ΡΡΠΈΠ΅ ABI, ΠΏΠΎΡΡΠΎΠΌΡ SOVERSION ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° Π΄ΠΎ 2.
ΠΡΠΎΠ΅ΠΊΡ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ C ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ BSD 3.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ
- ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠ΅ ΠΊ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ:
- SOVERSION 2: ΠΠ΅ΡΡΠΈΡ ABI Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π±ΡΠ»Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π°. ΠΠΈΠ½Π°ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ SOVERSION 1, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ.
- Π‘ΡΡΡΠΊΡΡΡΡ ΠΎΠΏΡΠΈΠΉ: ΡΡΠ½ΠΊΡΠΈΠΈ zxc_compress() ΠΈ zxc_decompress() ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ zxc_compress_opts_t* ΠΈ zxc_decompress_opts_t* Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ»Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΠΉΡΠ΅ NULL.
- ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π»ΠΎΠΊΠ°: ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠ°ΠΉΠ»Π° ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΡΠ°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° Π² Π²ΠΈΠ΄Π΅ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΡ log2 [12..21] Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠ΅ΠΆΠ½Π΅Π³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π΄Π²ΡΠΌΡ ΡΠΊΠ°Π»Π°ΠΌΠΈ. Π‘ΡΠ°ΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 64 ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ.
- ΠΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
- ΠΠ΅ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ ΡΠΆΠ°ΡΠΈΡ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ, Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ Π² ΠΊΡΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΡΠ°Π½ΡΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅; ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ Π΄Π»Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (squashfs, dwarfs) ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ:
- zxc_create_cctx(), zxc_free_cctx() ΠΈ zxc_compress_cctx() Π΄Π»Ρ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΠΈ;
- zxc_create_dctx(), zxc_free_dctx() ΠΈ zxc_decompress_dctx() Π΄Π»Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΠΈ;
- Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ block_size ΠΈΠ»ΠΈ level.
- ΠΠ΅ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ ΡΠΆΠ°ΡΠΈΡ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ, Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ Π² ΠΊΡΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΡΠ°Π½ΡΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅; ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ Π΄Π»Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (squashfs, dwarfs) ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ:
- ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ Π±Π»ΠΎΠΊΠΎΠ²:
- ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ»Ρ block_size Π² ΡΡΡΡΠΊΡΡΡΠ΅ zxc_compress_opts_t;
- Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½: ΠΎΡ 4 ΠΠ Π΄ΠΎ 2 ΠΠ (ΡΡΠ΅ΠΏΠ΅Π½Ρ Π΄Π²ΠΎΠΉΠΊΠΈ);
- ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ 256 ΠΠ;
- Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡΡ zxc Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βblock-size (ΠΈΠ»ΠΈ -B) Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΡΡΡΠΈΠΊΡΠΎΠ² Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ (4K, 1M ΠΈΠ»ΠΈ 4KB, 1MB ΠΈΒ Ρ.Β Π΄.).
- ΠΡΡΡΡΠ°Ρ ΠΏΡΡΠΌΠ°Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΡ:
- ΠΊΠΎΠ³Π΄Π° Π±ΡΡΠ΅Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½, ΠΏΡΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ Π±ΡΡΠ΅Ρ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΠΏΠ°ΠΌΡΡΡ ΠΈ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ.
- ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ:
- ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ° ΠΊΡΡΠΈ Π² zxc_bitpack_stream_32: ΡΠΈΠΊΠ» ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ³ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π΄ΠΎ 4 Π±Π°ΠΉΡΠΎΠ² Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ°, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π»ΠΎ Π³ΡΠ°Π½ΠΈΡΡ Π±Π°ΠΉΡΠ°;
- ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΡΠΎΠΊΠ° ΠΏΡΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ (Π² zxc_decompress.c): Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡΠ°Ρ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ΅Π½ Π΄Π»Ρ Π·Π°ΡΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.
- ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π»ΠΎΠΊΠ°: ΡΠ΅ΠΏΠ΅ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡΡ zxc_cctx_init() ΠΈ zxc_read_file_header() Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ Π±Π»ΠΎΠΊΠΎΠ² Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [ZXC_BLOCK_SIZE_MIN, ZXC_BLOCK_SIZE_MAX] ΠΈ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ΅ΠΏΠ΅Π½ΡΠΌΠΈ Π΄Π²ΠΎΠΉΠΊΠΈ;
- ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ C++: Π²ΡΠ΅ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π·Π°ΡΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ extern "C" Π΄Π»Ρ Π±Π΅ΡΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² C++;
- Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΏΡΡΠ° ΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π·ΠΈΠ½Π³-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΊΠΎΡΠΏΡΡΠ° Π΄Π»Ρ ClusterFuzzLite CI.
- ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ:
- docs/API.md: Π½ΠΎΠ²ΡΠΉ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠΈΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ API ΠΈ ABI, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠΏΠΈΡΠ°Π½Ρ Π²ΡΠ΅ 21 ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ», ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ², ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ABI, Π³Π°ΡΠ°Π½ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ;
- ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ man ΠΈ ΡΠ°ΠΉΠ» README Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΡΠ°ΡΡΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (vcpkg, Conan, Homebrew);
- ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ ΡΠ°ΠΉΠ» docs/FORMAT.md Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π»ΠΎΠΊΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΡ.
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π²ΡΠ°ΠΏΠΏΠ΅ΡΡ Π΄Π»Ρ Python, Rust ΠΈ Node.js.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru
