A C programozási nyelv valóban átadta az idő próbáját. Nagyon kevés olyan környezet van, ahol nem virágzik. Ez elsősorban a magas végrehajtási teljesítményének köszönhető, amely sajnos egy áron érkezik: C nem támogatja a modern programozási nyelv várható számos jellemzőjét.
Mozilla kutatás Rozsda egy jobb egérfogó létrehozása. Nyelvi tervezése továbbra is nagy teljesítményre koncentrál, és közel áll a hardverhez.
Azonban a szintaxis és a fordító is kihasználja a modern programozási nyelvi kutatás által kínált különböző előnyöket is. Tekintettel arra, hogy Mozilla küldetése egy "nyílt web" létrehozása, nem lehet meglepő, hogy a vállalat fáradhatatlanul dolgozik, hogy a legújabb agyi agyat az internetre hozza.
Bár a rozsda elméletileg olyan rendszereken keresztül futtatható az ügyfélen, mint például az Emscripten, a valódi hatalma a hatékony backend szolgáltatások létrehozásában rejlik.
Létrehoz egy webhelyet a semmiből? Nagasítsa meg a tervezést és a teljesítményt a tetején weboldal építője és kiváló web hosting . Van fájlokat megosztani vagy menteni? Vegyen részt ezeken felhő tároló lehetőségek.
Míg a csomagvezetők, mint például az "Apt-Get" biztosan megkönnyítették a fejlesztő életét, a csomaglista karbantartók, és nagy, hogy nem barátok a túlzott sebességgel. Emiatt sok, ha nem leginkább, az eloszlások csomag gyorsítótárja erősen elavult.
A rozsda csapat megoldotta ezt a problémát egy dedikált telepítési szkript biztosításával, amely meghatározza a rendszert, amelyet hatékonyan futtat. A telepítés, akkor kétlépcsős folyamat: Először győződjön meg róla, hogy a Curl Downloader / Parser elérhető:
Tamhan @ Tamhan-ThinkPad: ~ $ sudo apt-get install curl
[sudo] Jelszó Tamhan számára:
Reading csomaglisták ... Kész ...
Ezután a második lépésben töltse le a telepítőt, és adja át az "SH" -t a cső üzemeltetőjével. Az "SH" a munkaállomás alapértelmezett héj-tolmácsának rövidítése, amely ezután folytatja a kódot:
Tamhan @ Tamhan-ThinkPad: ~ $ curl https://sh.rustup.rs -ssf | SH
Info: Telepítés letöltése
A telepítés során a rozsda telepítője számos üzenetet jelenít meg, amelyek hasonlóak a jobb oldalon látható képekhez. Egyszerűen kövesse őket az alapértelmezett telepítés eléréséhez.
Bizonyos esetekben a rozsda telepítése sikertelen lesz a "hiba: nem írhat RCFile fájlt:" /home/tamhan/.bash_profile ". Ha ez történik a telepítés során, használja a "sudo -s" -t, hogy megkapja a gyökérhéjat, majd öblítse le és ismételje meg a folytatáshoz.
Ezzel az úton van, itt az ideje, hogy futtassa az első kis programunkat. A rozsdafájlok alapértelmezés szerint a ".rs" fájl kiterjesztése van. Hozzon létre egy "FirstTest.rs" nevű fájlt, majd adja meg a következő kóddal:
Fn Main () {
Println! ("Hello World!");
}
A C és a C ++ programozók gyakran csodálkoznak, hogy a "Println" módszer felhívása miért igényel egy felkiáltójel használatát. A válasz egyszerű: a rozsda "nyomtatás" makró, amely más módon változik.
Tekintettel arra, hogy a rozsda összeállított nyelv, példánkat kell feldolgozni, mielőtt a parancssorból futtatható:
Tamhan @ Tamhan-ThinkPad: ~ / RustSpace $ Rustc FirstTest.rs
Tamhan @ Tamhan-ThinkPad: ~ / RustSpace $ ./firsttest
Hello World!
A teljes programozási nyelv leírása, mint például a rozsda, az itt rendelkezésre álló korlátozott helyen lehetetlen. Szóval kezdjük el formálisan mutatni a Mozilla Research's Átfogó dokumentáció . Az egyik funkció, amely megfelel a C programozóknak, a "meccs" parancs használatát jelenti: a közvetlen összehasonlítások mellett lehetővé teszi a tartományüzemeltetők használatát is, hogy nagymértékben egyszerűsítse a fejlett programok kialakítását:
fn fő () {
Hagyja, hogy a szám = 5;
Println! ("Munka a {}", szám);
Match szám {
1 = & gt; Println! ("Egy!"),
2 | 3 | 5 | 7 = & gt; Println! ("Prime"),
_ = & gt; Println! ("szám"),
}
}
Klasszikus szemétgyűjtő megvannak a maga gyengeségei: a legtöbb implementáció hogy a program a csikorgó megállt időről időre. Ahhoz, hogy körülveszi a rozsda, úgynevezett "nulla költségű absztrakciók", hogy hasonló viselkedést emuláljon egy kevésbé bosszantó módon.
Elvben minden erőforrás létrehoz egy tulajdonosgal a QT szülő-gyermek alrendszeréhez hasonló divatban. Azonban a "hitelfelvétel" nevű funkció lehetővé teszi a programozó számára, hogy átmenetileg átadja a tulajdonjogot az erőforrások között, ezáltal átadja őket a rendszer körül.
Sajnos a rozsdás memóriakezelő lehetőségeinek teljes megvitatása megtörné a cikk korlátait - hagyja, hogy elegendő legyen, hogy kijelentse, hogy a rozsda nagyon ortodox, de működőképes forma a memóriakezelés.
Míg a C és a C ++ kód lebontható a könyvtárakba, ez egy bosszantó és kissé kényelmetlen feladat. Továbbá, ügyelve arra, hogy minden szükséges könyvtárak, ahol szükség van rájuk az, amit még a tapasztalt fejlesztők szeretnék kerülni.
A JavaScript-közösség hosszú ideig megoldotta ezt a problémát olyan termékeken, mint az NPM. A projekteket egy projektstruktúra fájlon keresztül írják le, amely - többek között - a tényleges összeállítási futtatás során szükséges könyvtárakra és egyéb elemekre vonatkozik.
A rozsda esetében a rakomány nevű csomagkezelő hasonló munkát végez. Új projekt létrehozása a "Cargo New" parancs használatával megvalósítható a következőhöz hasonló módon:
Tamhan @ Tamhan-ThinkPad: ~ / RustSpace $ Cargo New FuturesMamle1 - bin
Létrehozott bináris (alkalmazás) "FuturesMamle1" projekt
Tamhan @ Tamhan-ThinkPad: ~ / RustSpace $
Ha a létrehozási folyamat befejeződött, akkor az oldal alján látható képhez hasonló mappaszerkezetet generálnak.
.toml fájlok "vezérlőként" működnek - újonnan generált projektünk esetében a fájl a következő struktúrát tartalmazza:
[Csomag]
Név = "FuturesMample1"
Version = "0.1.0"
Szerzők = ["Tamhan"]
[függőségek]
Hasonlóságok a .ini fájlok tan nem tisztán coincidential: a divat nem különbözik NPM, az ősi konfigurációs fájl formátumban is használják, hogy leírják a konfigurációs fájlok használt Rust projektek. A '[függőségek] blokk különösen érdekes számunkra - tartalmaz egy listát az összes külső könyvtárakat, ami kell, hogy jelen legyen az összeállítás, hogy sikerül.
A webszerver kézzel történő létrehozása egy bosszantó munka, ami a legjobban maradt a masochistákhoz. Helyette, hogy egy keretet választunk. Sajnos, a megfelelő megtalálás nem könnyű - mint meglátogatás Awwy listája a webfejlesztési keretrendszerek listája Raktári, sok jelölt van.
El fogjuk választani Rakéta , ha csak azért, mert úgy tűnik, hogy nagyon népszerű, és látott egy frissítést, amely 2018 májusában megjelent. Sajnos, a Rocket fejlesztői hajlamosak arra, hogy kedvelik az újonnan bevezetett nyelvi funkciókat, ezért a következő parancsok használatával a rozsda telepítésének gyakori frissítése szükséges :
Tamhan @ Tamhan-ThinkPad: ~ / RustSpace / FuturesMamle1 $ Rustup Update & Amp; & amp; Cargo frissítés
A következő lépés nagyrészt az ízlés kérdése. A legtöbb könyvtár előzetesen előzetesen elinduló projektekkel rendelkezik, amelyek fejlesztők egyszerűen szifonok a Githubból. Így a "Prime" könyvtárban nem feltétlenül rossz ötlet - bár még egyszer egy könyvtár részt vesz, a kézi 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észét az alábbiak szerint, hogy a rakéta-keretprogram friss változata legyen:
[függőségek]
rakéta = "0.3.6"
Rocket_CodeGen = "0.3.6"
A rakéta egyedülálló abban, hogy összesen két csomagot kell bevonni: a fő kereten kívül külön kódgenerátorfájl is szükséges. Akárhogy is, a verzió tartalmaz egy speciális változata a két könyvtár - Cargo is el tudja fogadni joker, ami lehetővé teszi a program „felvenni a méreg” segítség nélkül tőlünk.
Ezzel az útból egy probléma marad: Adja meg a "Cargo Run" parancsot a .toml fájlt tartalmazó mappában, hogy segítséget nyújtson, amely - többek között - Töltse le a megfelelő kódkönyvtárakat a tárolóból, és fordítsa el aegész enchilada neked.
Következő oldal: Állványzat és mélyreható elemzés
Aktuális oldal: 1 oldal
Következő oldal 2. oldalCsak olyannak érzi magát, mint tegnap, amikor szerepet játszottam a középiskolai barátokkal a fantázia világában, tele lovagok, varázslók, barbárok és kincsek rejtve a börtönbe..
Illusztrációi karrierem korábbi éveiben kipróbáltam, hogy illusztrálja a számokat, akár reális, akár egyszerűsítem. ..
Az egyik legfontosabb dolog, amely a CGI-ben dolgozik, nagyobb pontosságú. Azonban elképesztő, hogy mennyire nehéz lehet a d..
Használ pasztell alapozók létrehozásához felületeket a szakterületen azt jelenti, hogy építsenek egy text..
Ez a bemutató, amely bemutatja, hogyan készítsen egy mobilalkalmazás prototípust az Adobe XD-ben, összeállították ..
Ezen a héten napvilágot látott az egyes új videó az Adobe teszik Most playlist, gyűjteménye klip arról szól, hogyan lehet létrehozni tervezési projektek Creative Cloud alkalmazás ..
Az Unreal Engine 4 projekt használata Az utolsó megálló példaként példaként szeretném megmutatni néhány fontos lépés..
Szabadúszó művész, amely számos kis projekten dolgozom, amelyek többsége magában foglalja a létrehozását és a textúr..