【Rust Sendiri belajar】 Pengenalan
Apr 04, 2025 am 08:03 AM1.0.1 Pengenalan
Projek ini (termasuk kod dan komen) telah didokumenkan semasa karat saya sendiri. Mungkin ada kenyataan yang tidak tepat atau tidak jelas, sila minta maaf. Jika anda mendapat manfaat daripadanya, ia lebih baik.
1.0.2 Mengapa Gunakan Karat
Karat boleh dipercayai dan cekap .
-
Karat boleh menggantikan C dan C, dengan prestasi yang sama tetapi keselamatan yang lebih tinggi , dan tidak memerlukan rekompilasi yang kerap untuk memeriksa kesilapan seperti C dan C. Kelebihan utama termasuk:
- Keselamatan memori (menghalang penunjuk null dari dereferences, penunjuk menggantung, dan pertarungan data).
- Thread-safe (pastikan kod multi-threaded selamat sebelum pelaksanaan).
- Elakkan tingkah laku yang tidak ditentukan (mis., Arus dari batas, pembolehubah yang tidak diinisialisasi, atau akses kepada memori yang dibebaskan).
Karat menyediakan ciri bahasa moden (seperti generik, ciri, pencocokan corak).
Rust menyediakan alat toolchains moden . Kargo Rust mempunyai prinsip yang sama dengan pip Python. Tidak seperti konfigurasi ketergantungan yang membosankan C/C, Cargo menyediakan pengalaman pengurusan pergantungan yang mesra pengguna yang serupa dengan Python sambil mengekalkan prestasi C/C.
1.0.3 Senario yang berkenaan
Apabila prestasi diperlukan : karat dapat mengawal memori sama seperti C (tidak selamat untuk digunakan), sementara juga menyediakan kemudahan moden (contohnya, sistem pemilikan dan pencocokan corak). Sebaliknya, Python mengutamakan kecekapan pemaju, tetapi prestasi pengorbanan.
Apabila keselamatan memori adalah penting : Pemeriksaan statik Rust pada masa penyusunan memastikan keselamatan memori yang kuat, yang sangat sesuai untuk senario yang memerlukan pencegahan ralat, seperti sistem operasi, sistem tertanam, dan pelayan rangkaian.
Apabila penggunaan pemproses multi-teras yang cekap diperlukan : karat secara asli menyokong pengaturcaraan konkurensi dan multi-teras yang cekap tanpa mengorbankan keselamatan, yang menjadikannya sangat berfaedah dalam senario di mana tugas yang tinggi dan tugas serentak diperlukan (mis., Pelayan web, sistem yang diedarkan, pengkomputeran masa nyata).
Rust telah berjaya dalam:
- Perkhidmatan rangkaian
- WebAssembly (karat dan C/C jauh melebihi C# dan Java dari segi prestasi)
- Alat baris arahan
- Pengaturcaraan Rangkaian
- Peranti tertanam
- Pengaturcaraan Sistem
1.0.4 Perbandingan dengan bahasa lain
Kategori | Bahasa | Ciri -ciri |
---|---|---|
Kod mesin | Binari | Paling dekat dengan perkakasan, dilaksanakan secara langsung oleh CPU. |
Perhimpunan | Perhimpunan | Menggunakan mnemonik untuk menggantikan kod mesin, misalnya, AX MOV, BX. |
Peringkat rendah | C, c | Dekat dengan perkakasan, sediakan abstraksi terhad. |
Peringkat pertengahan | Karat, pergi | Prestasi yang serupa dengan bahasa peringkat rendah dengan abstraksi yang lebih tinggi. |
Tahap Tinggi | Python, Java | Abstraksi peringkat tinggi, lebih mudah dibaca dan digunakan. |
Bahasa peringkat tinggi dan rendah tidak bertentangan, tetapi wujud secara berterusan:
Bahasa peringkat rendah boleh mempunyai kawalan yang lebih baik ke atas perkakasan, tetapi memerlukan pengekodan yang lebih kompleks dan kecekapan pembangunan yang lebih rendah.
Bahasa peringkat tinggi memberikan abstraksi dan automasi yang lebih baik, tetapi boleh memperkenalkan overhead runtime dan kehilangan kawalan perkakasan halus.
Kelebihan karat:
- prestasi tinggi
- Keselamatan yang kuat
- Sokongan yang sangat baik untuk kesesuaian
Status Rust sebagai bahasa pertengahan mempunyai kelebihan berikut:
C/C : Prestasi yang sangat baik, tetapi kekurangan keselamatan; Rust memastikan keselamatan dengan prestasi setanding.
Java/C# : Pastikan keselamatan memori (menggunakan koleksi sampah) dan menyediakan banyak ciri, tetapi dengan prestasi yang lemah; Karat mencapai tahap keselamatan yang sama dengan prestasi yang sangat baik.
1.0.5 Sejarah karat
Rust pada asalnya merupakan projek penyelidikan di Mozilla, dan penyemak imbas Firefox adalah contoh aplikasi yang terkenal.
Mozilla membangunkan enjin pelayar eksperimen servo menggunakan Rust (dilancarkan pada tahun 2012 dan pratonton pertama dikeluarkan pada tahun 2016). Senibina servo adalah selari. Malangnya, pada bulan Ogos 2020, Mozilla melepaskan sebahagian besar pasukan pembangunan servo. Dari 17 November 2020, Servo telah dipindahkan ke Yayasan Linux. Beberapa ciri servo telah disatukan ke Firefox.
Versi Quantum Firefox mengintegrasikan enjin rendering CSS Servo. Rust membawa keuntungan prestasi yang signifikan kepada Firefox.
1.0.6 Pengguna dan Kajian Kes Karat
Google : Sistem operasi Fuschia, karat menyumbang 30% daripada asas kod.
Amazon : Sistem operasi berasaskan Linux yang direka untuk menjalankan bekas secara langsung pada logam telanjang atau mesin maya.
Sistem76 : Membangunkan Generasi Sistem Operasi Keselamatan Redoks Seterusnya menggunakan karat.
Stanford University dan University of Michigan : Sistem Operasi Masa Nyata Terbenam untuk Produk Penyulitan Google.
Microsoft : Tulis semula beberapa komponen peringkat rendah di Windows menggunakan karat.
Microsoft : Projek WinRT/Rust.
Atas ialah kandungan terperinci 【Rust Sendiri belajar】 Pengenalan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Checkifthetouchpadisdisabledbyusingthefunctionkey(Fn F6/F9/F12),adedicatedtogglebutton,orensuringit’sturnedoninSettings>Devices>Touchpad,andunplugexternalmice.2.UpdateorreinstallthetouchpaddriverviaDeviceManagerbyselectingUpdatedriverorUninstal

Untuk mewujudkan persekitaran maya Python, anda boleh menggunakan modul VENV. Langkah-langkahnya adalah: 1. Masukkan direktori projek untuk melaksanakan persekitaran python-mvenvenv untuk mewujudkan persekitaran; 2. Gunakan Sourceenv/Bin/Aktifkan ke Mac/Linux dan Env \ Scripts \ Aktifkan ke Windows; 3. Gunakan Pakej Pemasangan Pipinstall, PipFreeze> Keperluan.txt untuk mengeksport kebergantungan; 4. Berhati -hati untuk mengelakkan menyerahkan persekitaran maya ke Git, dan mengesahkan bahawa ia berada dalam persekitaran yang betul semasa pemasangan. Persekitaran maya boleh mengasingkan kebergantungan projek untuk mencegah konflik, terutamanya sesuai untuk pembangunan pelbagai projek, dan editor seperti pycharm atau vscode juga

Pertama, jalankan Penyelesaian Masalah Windows Update untuk membaiki masalah umum secara automatik, 1. Jalankan Penyelesaian Masalah Kemas Kini Windows; 2. Semak sambungan rangkaian dan tetapan proksi untuk memastikan bahawa anda boleh mengakses pelayan Windows Update; 3. Gunakan arahan DISM untuk membaiki penyimpanan komponen, dan tentukan sumber ISO Windows tempatan jika perlu; 4. Secara manual menentukan laluan sumber ISO apabila memasang fungsi pilihan melalui PowerShell; 5. Tetapkan semula perkhidmatan komponen kemas kini Windows dan cache yang jelas; 6. Jalankan SFC/Scannow dan CHKDSK untuk memeriksa kesilapan sistem dan cakera; Akhirnya pastikan sistem ini dikemas kini kepada ISO rasmi terkini dan menggunakan pertama untuk menyelesaikan masalah fail yang hilang, dan dalam kebanyakan kes, anda boleh berjaya membaiki kesilapan 0x800F0954

macosistargetedlessduetosmallermarketshare, reducingmalwarevolume.2.apple'stighthardware-softwareIntegrationenablesstrongBuilt-InsecurityLikeGatekeeper, SIP, andAppsandboxing.3.Faster, MoreUniformupdaterSability.Fastersability.Faster

Tunggu1-2hoursifdiskactivitycontinues, aswindowssetupmayappearfrozenduringfileexpanionorupdateInstallation.2.RecognInormalslowPhasesLy

The: emptypseudo-classSelectSelementSwithnoChildrenorcontent, includingspacesorcomments, SoonlyTrulyEmptyElementsLikeMatchit; 1.itcanHideEptyContainersByusing: kosong {paparan: none;} TOCleanUplayouts;

Jadual Kandungan Apa itu Cardano? Ciri -ciri utama Cardano Bagaimana Cardano berfungsi? Kenapa Cardano layak untuk mempertimbangkan harga dan sejarah prestasi pasaran 2025 ADA ramalan 2025, 2026 dan 2027 ramalan harga 2040 dan 2030 Faktor ramalan harga ADA yang mempengaruhi analisis carta ADA dan Outlook Teknikal Cardano Ramalan jadual: Cardano adalah pengasas bersama Ethereum.

Jadual Kandungan Sejarah Harga Solana dan Data Pasaran Penting Data Penting dalam Carta Harga Solana: 2025 Ramalan Harga Solana: Optimis 2026 Ramalan Harga Solana: Mengekalkan Trend 2026 Ramalan Harga Solana: 2030 Ramalan Harga Jangka Panjang Solana: Ramalan Blok Teratas? Apa yang mempengaruhi ramalan harga matahari? Skalabiliti dan Solana: Kelebihan Kompetitif Sekiranya anda melabur di Solana dalam beberapa tahun akan datang? Kesimpulan: Prospek Harga Solana Kesimpulan: Solana mempunyai skalabilitas yang sangat baik, kos urus niaga yang rendah dan kecekapan yang tinggi
