لماذا ملفات Rust القابلة للتنفيذ ضخمة جدًا وكيفية إصلاح ذلك؟
مرحبًا بالجميع! أنا مبتدئ في Rust ولاحظت شيئًا غريبًا: حتى أبسط برنامج يشغل ميغابايتات على القرص. كتبت "Hello, World!" — وحصلت على 3 ميغابايت! في C/C++ نفس الكود يزن كيلوبايتات. ما الخطأ الذي أفعله؟
إليك كودي:
```rust
fn main() {
println!("Hello, world!");
}
```
أقوم بالبناء عبر `cargo build`. ملف target/debug/hello.exe — 3.2 ميغابايت. حتى بعد `cargo build --release` انخفض الحجم فقط إلى 2.8 ميغابايت. هل هذا طبيعي؟ يقولون إن Rust يترجم بشكل ثابت ويشمل runtime، لكن هل هذا كثير حقًا؟
ربما فاتني بعض flags التحسين؟ أم هذه ميزة Rust؟ في التوثيق مكتوب أن Rust لغة نظام، لكن هذا الحجم لـ "Hello, World!" يبدو غريبًا. أرشدوني كيف أُقلل حجم binary؟ شكرًا مقدمًا!
P.S. أستخدم Windows 10، Rust 1.75.0.
<<>>
لماذا binaries Rust كبيرة؟
أنت محق: حتى أبسط برنامج في Rust يمكن أن يزن 2–5 ميغابايت. هذا ليس خطأ، بل ميزة للمترجم. الأسباب الرئيسية: