Kezdje el a Rust-ot

Szerző: Monica Porter
A Teremtés Dátuma: 17 Március 2021
Frissítés Dátuma: 21 Június 2024
Anonim
Lift Droopy Eyelids by Wink Exercise👁💕Remove Eye Bags and Reduce Wrinkles (Crow Feet) in 7 Days
Videó: Lift Droopy Eyelids by Wink Exercise👁💕Remove Eye Bags and Reduce Wrinkles (Crow Feet) in 7 Days

Tartalom

A C programozási nyelv valóban túllépte az idő próbáját.Nagyon kevés olyan környezet van, ahol nem fejlődik. Ez elsősorban annak magas végrehajtási teljesítményének köszönhető, amelynek sajnos ára van: a C nem támogatja a modern programozási nyelvben elvárt számos funkciót.

  • A Mozilla új radikális identitást mutat be

A Mozilla Research Rustja egy jobb egérfogó létrehozására tett kísérlet. Nyelvi kialakítása továbbra is a nagy teljesítményre és a hardver közelében áll.

Szintaxisa és fordítója azonban kihasználja a modern programozási nyelv kutatásának számos előnyét is. Tekintettel arra, hogy a Mozilla küldetése egy „nyitott web” létrehozása, nem meglepő, hogy a vállalat fáradhatatlanul azon dolgozik, hogy legújabb agyszüleményét az internetre vigye.

Míg a Rust elméletileg képes futtatni az ügyfelet olyan rendszereken keresztül, mint az Emscripten, valódi ereje a hatékony háttérszolgáltatások létrehozásában rejlik.


A semmiből hoz létre egy webhelyet? Szögezze le a dizájnt és a teljesítményt egy legnépszerűbb weboldal-készítővel és kiváló web hosting szolgáltatással. Van megosztani vagy menteni kívánt fájl? Vegyen részt ezekben a felhőalapú tárolási lehetőségekben.

Hogyan kezdjük el használni a Rustot

Míg a csomagkezelők, mint például az „apt-get”, biztosan megkönnyítették a fejlesztő életét, a csomaglista-karbantartók nagyjából tudják, hogy nem barátai a túlzott sebességnek. Emiatt a terjesztések sok, ha nem a legtöbb gyorsítótára erősen elavult.

A Rust csapata megoldotta ezt a problémát egy dedikált telepítési parancsfájl biztosításával, amely hatékonyan beállítja a futtatott rendszert. A telepítés tehát két lépésből áll: először győződjön meg arról, hogy elérhető-e a CURL letöltő / elemző:

tamhan @ tamhan-thinkpad: ~ $ sudo apt-get install curl [sudo] jelszó tamhan számára: Csomaglisták olvasása ... Kész…

Ezután a második lépésben töltse le a telepítőt, és továbbítsa a „sh” -nek a csőkezelő segítségével. A 'Sh' rövidítés a munkaállomás alapértelmezett shellértelmezőjéhez, amely a következő kódot futtatja:


tamhan @ tamhan-thinkpad: ~ $ curl https://sh.rustup.rs -sSf | sh info: a telepítő letöltése

A telepítés során a Rust telepítő a jobb oldali képen láthatóakhoz hasonló megjelenésű megjelenítéseket jelenít meg. Egyszerűen kövesse őket az alapértelmezett telepítés eléréséhez.

Bizonyos esetekben a Rust telepítése hibát mutat, amely hasonló a "hiba: nem tudta írni az rcfile fájlt:’ /home/tamhan/.bash_profile ’” fájlhoz. Ha ez a telepítés során történik, használja a 'sudo -s' parancsot egy gyökérhéj megszerzéséhez, majd öblítse le és ismételje meg a folytatást.

Futtasson egy mintát

Ha ez nem sikerül, itt az ideje, hogy elindítsuk az első kis programunkat. A rozsdafájlok alapértelmezés szerint a fájl kiterjesztése ’.rs’. Hozzon létre egy „firsttest.rs” nevű fájlt, majd adja hozzá a következő kóddarabot:


fn main () {println! ("Hello Világ!"); }

A C és C ++ programozók gyakran elgondolkodnak azon, hogy a ’println’ módszer invokálásához miért van szükség felkiáltójel használatára. A válasz egyszerű: Rust a „println” -t makróként valósítja meg, amelyet más módon hívnak meg.


Tekintettel arra, hogy a Rust egy lefordított nyelv, példánkat fel kell dolgozni, mielőtt a parancssorból futtatható lenne:

tamhan @ tamhan-thinkpad: ~ / rustspace $ rustc firsttest.rs tamhan @ tamhan-thinkpad: ~ / rustspace $ ./firsttest Hello World!

Haladó bomlás

A teljes programozási nyelv, például a Rust leírása az itt rendelkezésre álló korlátozott térben lehetetlen. Kezdjük tehát azzal, hogy hivatalosan is felhívjuk a figyelmet a Mozilla Research átfogó dokumentációjára. Az egyik olyan funkció, amely biztosan lenyűgözi a C programozókat, magában foglalja a ’match’ parancs használatát: a közvetlen összehasonlítások mellett lehetővé teszi a hatótávolsági operátorok használatát a fejlett programok tervezésének jelentős egyszerűsítése érdekében:

fn main () {legyen szám = 5; println! ("Working on {}", szám); mérkőzés 7. szám => println! ("Prime"), _ => println! ("A szám"),}

Szemét kéznél

A klasszikus szemétszállításnak megvannak a maga gyengeségei: a legtöbb megvalósítás időről időre pergő leállást okoz a programnak. Megkerülésére Rust úgynevezett „nulla költségű absztrakciókat” használ, hogy hasonló viselkedést kevésbé idegesítő módon utánozzon.


Elvileg minden erőforrást a tulajdonosával hoznak létre a Qt szülő-gyermek alrendszeréhez hasonló módon. A „hitelfelvétel” nevű szolgáltatás azonban lehetővé teszi a programozó számára, hogy az erőforrások között ideiglenesen tulajdonjogot ruházzon át, ezáltal a rendszeren keresztül.

Sajnos a Rust memóriakezelőjének lehetőségeinek teljes megvitatása megtörné ennek a cikknek a határait - legyen elég kijelentenünk, hogy a Rust egy nagyon unortodox, de működőképes memóriakezelési formát kínál.

Hozzon létre egy új projektet

Míg a C és a C ++ kód könyvtárakra bontható, ez bosszantó és kissé kényelmetlen feladat. Ezenkívül még a tapasztalt fejlesztők is el akarják kerülni, hogy az összes szükséges könyvtár ott legyen, ahová szükség van.

A JavaScript közösség régóta megoldotta ezt a problémát olyan termékek révén, mint az NPM. A projekteket egy projektstruktúra fájl segítségével ismertetik, amely többek között a könyvtárakra és a tényleges fordítási futtatáshoz szükséges egyéb elemekre utal.


A Rust esetében a Cargo nevű csomagkezelő végez hasonló munkát. Új projekt létrehozása a „cargo new” parancs használatával hajtható végre az alábbihoz hasonló módon:

tamhan @ tamhan-thinkpad: ~ / rustspace $ cargo new futuresample1 --bin Létrehozott bináris (alkalmazás) `futuresample1` projekt tamhan @ tamhan-thinkpad: ~ / rustspace $

Amikor a létrehozási folyamat befejeződött, az oldal alján lévő képen látható mappaszerkezet jön létre.

A .toml fájlok „vezérlőként” működnek - újonnan létrehozott projektünk esetében a fájl a következő szerkezetet tartalmazza:

[csomag] név = "futuresample1" verzió = "0.1.0" szerzők = ["tamhan"] [függőségek]

A lore .ini fájljaival való hasonlóság nem pusztán véletlen: az NPM-hez hasonlóan az ősi konfigurációs fájlformátumot használják a Rust projektekhez használt konfigurációs fájlok leírására is. A „[függőségek]” blokk számunkra különösen érdekes - tartalmazza az összes külső könyvtárat, amelyeknek jelen kell lenniük az összeállítás sikeréhez.

Adjon hozzá egy csomagot

A webkiszolgáló kézi létrehozása bosszantó feladat, amelyet a mazochistáknak kell hagyni. Ehelyett keretet választunk. Sajnos nem könnyű megtalálni a megfelelőt - amint az AWWY webfejlesztési keretrendszereinek felkeresésével kiderül, sok a jelölt.

A Rocket-t választjuk, már csak azért is, mert elég népszerűnek tűnik, és látott egy frissítést 2018 májusában. Sajnos a Rocket fejlesztői általában kedvelik az újonnan bevezetett nyelvi funkciókat, ezért a Rust telepítésének gyakori frissítése a a következő parancsokra van szükség:

tamhan @ tamhan-thinkpad: ~ / rustspace / futuresample1 $ rustup update && cargo update

A következő lépés nagyrészt ízlés kérdése. A legtöbb könyvtár előre telepített indító projektekkel érkezik, amelyeket a fejlesztők egyszerűen szifonozhatnak a GitHubból. A „legfontosabb” könyvtár számára ez nem feltétlenül rossz ötlet - bár ha egyszer több könyvtárat is bevonunk, a manuális megközelítés általában gyümölcsözőbb.

Ezután nyissa meg a .toml fájlt, majd módosítsa a ’függőségek’ részt az alábbiak szerint a Rocket keretrendszer legújabb verziójának felvétele érdekében:

[függőségek] rakéta = "0,3,6" rakéta_kódegen = "0,3,6"

A Rocket egyedülálló abban, hogy összesen két csomag felvételét igényli: a fő keretrendszer mellett külön kódgeneráló fájlra is szükség van. Akárhogy is, a mi verziónk a két könyvtár egy speciális változatát tartalmazza - a Cargo helyettesítő karaktereket is elfogadhat, amelyek lehetővé teszik a program számára, hogy mindenféle segítség nélkül „kiszedje a mérgét”.

Ennek hiányában egy probléma marad: írja be a „cargo run” kifejezést a .toml fájlt tartalmazó mappába egy segített fordítás végrehajtása érdekében, amely többek között letölti a megfelelő kódkönyvtárakat a tárból, és lefordítja a egész enchilada neked.

Következő oldal: állványok és mélyreható elemzés

Legutóbbi Bejegyzések
Az ISO2USB alternatívája
Olvas

Az ISO2USB alternatívája

Az IO képfájl a CD / DVD lemez népzerű képformátuma. Ha játékot tölt le az internetről vagy a Window rendzerről IO képfájlként, akkor az IO f...
Hogyan írjunk ISO-t USB-re Linux, Windows vagy Mac rendszerben
Olvas

Hogyan írjunk ISO-t USB-re Linux, Windows vagy Mac rendszerben

Az IO fájlok UB-ra íráa eltér a fájlok UB-re máoláától. Ha egy rendzert indító meghajtó (UB) haználatával kívánja elind&...
Hogyan lehet egyszerűen megváltoztatni a Microsoft jelszavát
Olvas

Hogyan lehet egyszerűen megváltoztatni a Microsoft jelszavát

A Microoft-fiókod jelzavának rendzere friítée biztonágoabbá tezi a zámítógépedet, mert idővel valaki a környezetedben megtanulhatja é val...