Learn Rust Coding · บทเรียน

ฟีเจอร์และโปรไฟล์

การคอมไพล์แบบมีเงื่อนไข

บทเรียน 4 จาก 413 ขั้นตอน

ฟีเจอร์และโปรไฟล์ เป็นบทเรียน Learn Rust Coding ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn Rust Coding และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn Rust Coding มีบทเรียนทั้งหมด 4 บทเรียน

ฟีเจอร์คืออะไร

ฟีเจอร์ ช่วยให้คุณเปิดใช้หรือปิดใช้ส่วนที่เป็นตัวเลือกของ crate ขณะคอมไพล์ ฟีเจอร์ทำให้ crate ยืดหยุ่น โดยผู้เรียกใช้จะจ่ายเฉพาะสิ่งที่ตนใช้

การประกาศฟีเจอร์

กำหนดฟีเจอร์ในตาราง [features] ฟีเจอร์แต่ละรายการสามารถเปิดใช้ฟีเจอร์อื่นหรือการพึ่งพาที่เป็นตัวเลือกได้

[features]
default = ["json"]
json = []
fast_math = []

การคอมไพล์แบบมีเงื่อนไข

กำกับโค้ดด้วยแอตทริบิวต์ cfg เพื่อให้โค้ดถูกคอมไพล์เฉพาะเมื่อเปิดใช้ฟีเจอร์เท่านั้น

#[cfg(feature = "json")]
fn export() {
    println!("Exporting as JSON");
}

fn main() {
    #[cfg(feature = "json")]
    export();
}

การเปิดใช้ฟีเจอร์

ผู้เรียกใช้สามารถเปิดใช้ฟีเจอร์ในรายการประกาศการพึ่งพา หรือบนบรรทัดคำสั่งได้

[dependencies]
my_lib = { version = "1.0", features = ["fast_math"] }

ฟีเจอร์เริ่มต้น

ฟีเจอร์ default จะเปิดใช้อัตโนมัติ ปิดใช้ได้ด้วย default-features = false เพื่อเลือกการสร้างแบบ минимอล

[dependencies]
my_lib = { version = "1.0", default-features = false }

ฟีเจอร์บน CLI

คุณยังสามารถเปิดหรือปิดฟีเจอร์สำหรับแต่ละคำสั่งได้โดยไม่ต้องแก้ไขไฟล์กำกับ

cargo build --features fast_math
cargo run --no-default-features
cargo test --all-features

โปรไฟล์คืออะไร

โปรไฟล์ ควบคุมการตั้งค่าคอมไพเลอร์ เช่น ระดับการปรับให้เหมาะสมและข้อมูลการดีบัก โปรไฟล์ในตัวมีสองแบบ ได้แก่ dev (ดีบัก) และ release

โปรไฟล์ dev

โปรไฟล์ dev ใช้โดย cargo build โดยให้ความสำคัญกับการคอมไพล์ที่รวดเร็วและการดีบักได้ง่าย มากกว่าความเร็วขณะทำงาน

[profile.dev]
opt-level = 0
debug = true

โปรไฟล์ release

โปรไฟล์ release (ใช้ร่วมกับ --release) จะเปิดใช้การปรับให้เหมาะสมเพื่อให้ไบนารีทำงานได้เร็ว

[profile.release]
opt-level = 3
lto = true
strip = true

การปรับแต่งโปรไฟล์

คุณสามารถปรับแต่งโปรไฟล์ใด ๆ อย่างละเอียดได้ ตัวอย่างเช่น เปิดใช้การปรับให้เหมาะสมเล็กน้อยในการสร้างแบบ dev เพื่อให้ทำงานเร็วขึ้น พร้อมคงการคอมไพล์การพึ่งพาให้รวดเร็ว

[profile.dev]
opt-level = 1

[profile.dev.package."*"]
opt-level = 3

การพึ่งพาที่เป็นตัวเลือกในรูปฟีเจอร์

การพึ่งพาที่เป็นตัวเลือกจะสร้างฟีเจอร์ที่มีชื่อเดียวกันโดยปริยาย การเปิดใช้ฟีเจอร์จะดึงการพึ่งพานั้นเข้ามา ทำให้ผู้ใช้เลือกใช้ crate ที่มีขนาดใหญ่ขึ้นเฉพาะเมื่อจำเป็น

[dependencies]
serde = { version = "1.0", optional = true }

[features]
serialize = ["dep:serde"]

ตรวจสอบอย่างรวดเร็ว

แอตทริบิวต์ใดจะคอมไพล์บล็อกโค้ดเฉพาะเมื่อเปิดใช้ฟีเจอร์

สรุปทบทวน

คุณได้เรียนรู้เครื่องมือสำหรับการคอมไพล์แบบมีเงื่อนไข:

  • [features] ประกาศฟังก์ชันการทำงานที่เป็นตัวเลือก
  • #[cfg(feature = ...)] ควบคุมโค้ดตามฟีเจอร์
  • default-features = false เลือกการสร้างแบบ минимอล
  • โปรไฟล์อย่าง dev และ release ควบคุมการปรับให้เหมาะสมและการตั้งค่าดีบัก
เริ่มต้นได้ฟรี

เรียนรู้ Rust ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
39
บทเรียน
144

คำถามที่พบบ่อย

บทเรียน “ฟีเจอร์และโปรไฟล์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ฟีเจอร์และโปรไฟล์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn Rust Coding ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn Rust Coding มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ฟีเจอร์และโปรไฟล์”

การคอมไพล์แบบมีเงื่อนไข คุณปฏิบัติ Learn Rust Coding ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn Rust Coding หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn Rust Coding บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “ฟีเจอร์และโปรไฟล์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn Rust Coding นี้ได้ไหม

ได้ บทเรียน Learn Rust Coding ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. พื้นฐาน Cargo
  2. Cargo.toml
  3. เวิร์กสเปซ
  4. ฟีเจอร์และโปรไฟล์
← กลับไปที่ Learn Rust Coding