
Cargo & Ecosystem
Lệnh Cargo, dependency, feature, build script, workspace, crates.io, tài liệu
1Lệnh Cargo nào biên dịch một dự án mà không tạo ra tệp thực thi cuối cùng?
Lệnh Cargo nào biên dịch một dự án mà không tạo ra tệp thực thi cuối cùng?
Câu trả lời
Lệnh cargo check biên dịch mã để kiểm tra lỗi mà không tạo ra tệp nhị phân cuối cùng. Lệnh này nhanh hơn nhiều so với cargo build vì nó bỏ qua bước sinh mã máy. Nó lý tưởng trong quá trình phát triển để nhanh chóng xác nhận rằng mã biên dịch đúng.
2Làm thế nào để chỉ định một dependency với phiên bản tối thiểu là 1.2.0 nhưng nhỏ hơn 2.0.0 trong Cargo.toml?
Làm thế nào để chỉ định một dependency với phiên bản tối thiểu là 1.2.0 nhưng nhỏ hơn 2.0.0 trong Cargo.toml?
Câu trả lời
Cú pháp serde = "1.2" sử dụng phiên bản hóa ngữ nghĩa mặc định của Cargo. Nó có nghĩa là Cargo sẽ chấp nhận bất kỳ phiên bản nào tương thích với 1.2.0, tức là >= 1.2.0 và < 2.0.0. Ký hiệu này tương đương với serde = "^1.2" và là cách viết theo phong cách chuẩn để chỉ định dependency trong Rust.
3Vai trò của tệp Cargo.lock trong một dự án Rust là gì?
Vai trò của tệp Cargo.lock trong một dự án Rust là gì?
Câu trả lời
Tệp Cargo.lock ghi lại các phiên bản chính xác của tất cả các dependency được sử dụng trong lần biên dịch thành công gần nhất. Điều này đảm bảo các bản build có thể tái tạo bằng cách sử dụng chính xác cùng một phiên bản trên các máy khác nhau. Đối với thư viện, tệp này thường được bỏ qua trong git, nhưng đối với tệp nhị phân và ứng dụng thì nên được đưa vào quản lý phiên bản.
Làm thế nào để định nghĩa một feature tùy chọn trong Cargo.toml?
Tệp build.rs ở thư mục gốc của một dự án Cargo dùng để làm gì?
+15 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Rust khác
Cơ bản về Rust
Ownership & Borrowing
Structs & Enums
Xử lý lỗi
Collections
Modules & Packages
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Pattern Matching
Macro
Serde & Serialization
Unsafe Rust
Trait nâng cao
Lifetime Nâng Cao
Type System
Tokio & Async I/O
Tối ưu hóa Hiệu suất
Memory Management
Web Frameworks
Database Integration
Design Pattern trong Rust
Nắm vững Rust cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí