ΠΠ²ΡΠΎΠΌΠ°ΡΡΠΊΠΎΡΠΎ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π½Π° Rust Π³ΠΎ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ ΠΎΠ΄ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΡΠ° ΡΠΎ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΎΡ ΠΈ Π·Π°ΡΡΠΈΡΡΠ²Π° ΠΎΠ΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠΎΠΈ ΠΏΡΠΎΠΈΠ·Π»Π΅Π³ΡΠ²Π°Π°Ρ ΠΎΠ΄ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΡΠ° ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΠΎ-ΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, Π΄Π΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π½Π° Π½ΡΠ»Π° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°Ρ, ΠΏΡΠ΅ΡΠ΅ΠΊΠΎΡΡΠ²Π°ΡΠ° Π½Π° Π±Π°ΡΠ΅ΡΠΎΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΎ. Π‘Π΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅ ΠΈ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈΡΠ΅ ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ.
ΠΠ»Π°Π²Π½ΠΈΡΠ΅
- ΠΠ΅Π½Π°ΡΠ΅ΡΠΎΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Cargo Π΄ΠΎΠ΄Π°Π΄Π΅ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΠ΅Π³Π·ΠΈΡΡΠΈΡΠ°Π°Ρ ΡΠΎ ΡΠ°Π²Π½ΠΈΠΎΡ ΡΠ΅Π³ΠΈΡΡΠ°Ρ crates.io. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠ΅ΡΡΠΈΡΠ°Π»Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΊΠΎΡΠΈΡΡΠ°Ρ ΡΠΎΠΏΡΡΠ²Π΅Π½ ΠΏΡΠΈΠ²Π°ΡΠ΅Π½ ΡΠ΅Π³ΠΈΡΡΠ°Ρ, ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΡΠΈ Π½Π°Π²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ Π²ΠΎ Cargo.toml ΠΈ Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π°Π°Ρ ΠΌΠΎΠ΄Π΅Π» Π·Π° Π²Π΅ΡΠ·ΠΈΠΈ ΡΠ»ΠΈΡΠ΅Π½ Π½Π° crates.io Π·Π° Π½ΠΈΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ Π΄Π° Π³ΠΈ ΡΠΏΠ°ΡΡΠ²Π°Π°Ρ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π΄Π²Π°ΡΠ° Π³Π°ΡΠ±ΠΈ. io ΠΈ Π²ΠΎ Π²Π°ΡΠΈΠΎΡ ΡΠΎΠΏΡΡΠ²Π΅Π½ ΡΠ΅Π³ΠΈΡΡΠ°Ρ.
ΠΠ° Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈ Π²ΠΎ .cargo/config (ΡΠ΅ Π½Π°ΠΎΡΠ° Π²ΠΎ $HOME ΠΈΠ»ΠΈ Π²ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΎΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ)
ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΈ Π΄Π΅Π» β[ΡΠ΅Π³ΠΈΡΡΡΠΈ]β, Π° Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ΅Π½ ΡΠ΅Π³ΠΈΡΡΠ°Ρ, ΠΎΠΏΡΠΈΡΠ°ΡΠ° βΡΠ΅Π³ΠΈΡΡΠ°Ρβ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ Π²ΠΎ ΠΎΠΏΠΈΡΠΎΡ Π½Π° ΡΠ΅ΠΊΠΎΡΠ° Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ Π²ΠΎ Cargo.toml. ΠΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π΅ΡΠ΅ ΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅Π³ΠΈΡΡΠ°Ρ, Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΡΡΠ°Π²Π΅ΡΠ΅ Π³ΠΎ ΡΠΎΠΊΠ΅Π½ΠΎΡ Π·Π° Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡΠ° Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ~/.cargo/credentials ΠΈ ΠΈΠ·Π²ΡΡΠ΅ΡΠ΅ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°
βcargo login --registry=my-registryβ ΠΈ Π΄Π° ΠΎΠ±ΡΠ°Π²ΠΈ ΠΏΠ°ΠΊΠ΅Ρ -
"cargo publish -registry=my-registry"; - ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΡΠ΅Π»ΠΎΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΡ β?β. Π²ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΈΡΠ΅
Π΄ΠΎΠΊΡΡΠΈΠ½ΠΈΡΠ΅ , ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΡΠΈ Π²ΠΈ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄ ΠΎΠ΄ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° ΠΊΠ°ΠΊΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΈ. ΠΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
"?" ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ Π³ΡΠ΅ΡΠΊΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΠΎΡ ΡΠ°ΠΌΠΎ Π²ΠΎ ΠΏΡΠΈΡΡΡΡΠ²ΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° βfn main()β ΠΈΠ»ΠΈ Π²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ β#[test]β; - ΠΠΎ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΠΊΡΠΎΠ°
ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠΎΠΊΠ΅Π½ΠΈ (β#[attr($tokens)]β, β#[attr[$tokens]] ΠΈ #[attr{$tokens}]β). ΠΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ, Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅Π° Π΄Π° ΡΠ΅ Π½Π°Π²Π΅Π΄Π°Ρ ΡΠ°ΠΌΠΎ Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° Π΄ΡΠ²ΠΎ/ΡΠ΅ΠΊΡΡΠ·ΠΈΠ²Π½Π° ΡΠΎΡΠΌΠ° ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π±ΡΠΊΠ²Π°Π»Π½ΠΈ ΠΆΠΈΡΠΈ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ β#[foo(bar, baz(quux, foo = βΠ±Π°Ρβ))]β, Π½ΠΎ ΡΠ΅Π³Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π½Π°Π±ΡΠΎΡΡΠ²Π°ΡΠ° (' #[ΠΎΠΏΡΠ΅Π³(0. .10)]') ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊΠ°ΠΊΠΎ β#[bound(T: MyTrait)]β; - Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ (ΠΎΡΠΎΠ±ΠΈΠ½Π°)
ΠΠ±ΠΈΠ΄Π΅ΡΠ΅ ΡΠ΅ ΠΎΠ΄ ΠΈΠΠ±ΠΈΠ΄Π΅ΡΠ΅ ΡΠ΅ , ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΡΠΈ ΠΊΠΎΠ½Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° ΡΠΈΠΏΠΎΠ²ΠΈ ΡΠΎ ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΡΠΎ Π³ΡΠ΅ΡΠΊΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ ΠΊΠ°ΠΊΠΎ from_be_bytes ΡΠΎ ΡΠ΅Π»ΠΎΠ±ΡΠΎΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π½ΠΈΠ·ΠΈ ΠΊΠ°ΠΊΠΎ Π²Π»Π΅Π·, Π½ΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ΡΡΠΎ Π΄ΠΎΠ°ΡΠ°Π°Ρ Π²ΠΎ Slice ΡΠΈΠΏ, Π° ΡΠ°ΡΠ½ΠΎ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ Π½ΠΈΠ·ΠΈ ΠΈ ΠΏΠ°ΡΡΠΈΡΠ°. Π‘ΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Π½ΠΎΠ²ΠΈ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, Π½Π°Π²Π΅Π΄Π΅Π½Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ Π²ΠΎ Π»Π΅Ρ ΠΏΡΠ΅ΠΊΡ ΠΏΠΎΠ²ΠΈΠΊ Π΄ΠΎ .try_into(), Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, βΠ½Π΅ΠΊΠ° num = u32::from_be_bytes(slice.try_into()?)β. ΠΠ° ΠΊΠΎΠ½Π²Π΅ΡΠ·ΠΈΠΈ ΠΊΠΎΠΈ ΡΠ΅ΠΊΠΎΠ³Π°Ρ ΡΡΠΏΠ΅Π²Π°Π°Ρ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄ ΡΠΈΠΏΠΎΡ u8 Π΄ΠΎ u32), Π΄ΠΎΠ΄Π°Π΄Π΅Π½ Π΅ ΡΠΈΠΏ Π½Π° Π³ΡΠ΅ΡΠΊΠ°ΠΠ΅ΠΏΠΎΠ³ΡΠ΅ΡΠ»ΠΈΠ² , ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΡΠΈ ΡΡΠ°Π½ΡΠΏΠ°ΡΠ΅Π½ΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°
TryFrom Π·Π° ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° βΠΠ΄β; - Π€ΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° Π΅ Π·Π°ΡΡΠ°ΡΠ΅Π½Π°
CommandExt::before_exec , ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΠ»ΠΎ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΎΡ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ ΠΏΡΠ΅Π΄ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ exec, ΠΊΠΎΡ Π±ΠΈΠ» ΠΈΠ·Π²ΡΡΠ΅Π½ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π° Π΄Π΅ΡΠ΅ ΠΏΡΠΎΡΠ΅Ρ ΡΠΎΡΠΊΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ²ΠΈΠΊΠΎΡ fork(). ΠΠΎ ΡΠ°ΠΊΠ²ΠΈ ΡΡΠ»ΠΎΠ²ΠΈ, Π½Π΅ΠΊΠΎΠΈ ΡΠ΅ΡΡΡΡΠΈ Π½Π° ΠΌΠ°ΡΠΈΡΠ½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΌΠ°ΠΏΠΈΡΠ°Π½ΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π΄ΡΠΏΠ»ΠΈΡΠ°Π°Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΎ ΠΎΠ΄Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅.
Π‘Π΅ ΠΏΡΠ΅ΠΏΠΎΡΠ°ΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π½Π΅Π±Π΅Π·Π±Π΅Π΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π½Π°ΠΌΠ΅ΡΡΠΎ Before_execCommandExt::pre_exec . - Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ Π½Π° Π°ΡΠΎΠΌΡΠΊΠΈ ΡΠ΅Π»ΠΈ Π±ΡΠΎΠ΅Π²ΠΈ ΡΠΎ Π·Π½Π°ΠΊ ΠΈ Π½Π΅ΠΎΠ·Π½Π°ΡΠ΅Π½ ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° ΠΎΠ΄ 8 Π΄ΠΎ 64 Π±ΠΈΡΠ° (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ,
AtomicU8 ), ΠΊΠ°ΠΊΠΎ ΠΈ ΠΏΠΎΡΠΏΠΈΡΠ°Π½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈNonZeroI [8|16|32|64|128]. - ΠΠΎΠ² Π΄Π΅Π» ΠΎΠ΄ API Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ Π²ΠΎ ΡΡΠ°Π±ΠΈΠ»Π½Π° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠ°, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΎ Any::type_id, Error::type_id, slice::sort_by_cached_key, str::escape_*, str::split_ascii_whitespace, Instant::checked_[add|sub ] ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ SystemTime ΡΠ΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ::checked_[add|sub]. Π€ΡΠ½ΠΊΡΠΈΠΈΡΠ΅ iter::from_fn ΠΈ iter::successors ΡΠ΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ;
- ΠΠ° ΡΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²ΠΈ ΡΠ΅Π»ΠΈ Π±ΡΠΎΠ΅Π²ΠΈ, ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ checked_pow, saturating_pow, wrapping_pow ΠΈ overflowing_pow ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ;
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π²ΠΎ ΡΠ°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ ΡΠΎ Π½Π°Π²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠΏΡΠΈΡΠ°ΡΠ° Π·Π° Π³ΡΠ°Π΄Π΅ΡΠ΅ β-C linker-plugin-ltoβ.
ΠΠ·Π²ΠΎΡ: opennet.ru