ДСмонстрация Π°Ρ‚Π°ΠΊΠΈ Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π°, приводящСй ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ исходных тСкстов

ΠŸΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π°Ρ‚Π°ΠΊΠΈ Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° VSCode, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€Π°Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π°. Π’ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ дСмонстрации ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΊΠΎΠ΄Π° Π½Π° языкС Rust, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ макрос, выполняСтся установка соСдинСния с хостом 127.0.0.1:8080 ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° содСрТимого Ρ„Π°ΠΉΠ»Π° «~/.ssh/id_rsa» с SSH-ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Для ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ достаточно просто ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΎΠΌ, Π±Π΅Π· выполнСния ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… дСйствий с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° трСбуСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² VSCode ΠΏΠ»Π°Π³ΠΈΠ½Π° rust-analyzer (обвязка Π½Π°Π΄ ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΌ компилятором rustc) ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² систСмС инструмСнтария для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° языкС Rust. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° связана с раскрытиСм ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… макросов Π²ΠΎ врСмя Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π°. Аналогичного эффСкта Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π²ΠΎ врСмя компиляции с использованиСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «cargo build».

ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π° ΠΈ языки программирования. VSCode ΠΈ rust-analyze ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ лишь для дСмонстрации Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π°Ρ‚Π°ΠΊΠΈ. ВСорСтичСски ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ любой Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π°, Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ макросы, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ синтаксиса ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° этапС компиляции. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ·ΡƒΡ‡Π°Π» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ врСдоносных дСйствий Π²ΠΎ врСмя компиляции ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ макросы Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ исходных тСкстов Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°Ρ… ΠΊΠΎΠ΄Π°. ВСроятно Π°Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Java ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ.



Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru