ΠΠ·Π΄Π°Π΄Π΅Π½ΠΎ Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ 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
