باینری های Rust را می توان با استفاده از نوع ماژول rust_binary
تولید کرد. به عنوان مثال:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
به طور مشابه، می توانید از rust_binary_host
برای ارائه یک ماژول فقط میزبان استفاده کنید.
خواص قابل توجه rust_binary
علاوه بر ویژگیهای مشترک مهم ، ویژگیهای زیر نیز مهم هستند یا رفتار منحصربهفردی را برای نوع ماژول rust_binary
نشان میدهند:
- static_executable : این باینری را بهعنوان یک باینری استاتیک میسازد و به این معنی است که
prefer_rlib
true
است. فایل های اجرایی کاملا ایستا را فقط می توان برای اهداف بیونیک تولید کرد. برای اهداف غیر بیونیک، این فقط به این معنی است کهprefer_rlib
true
است، اما همچنانlibc
وlibdl
را به صورت پویا پیوند می دهد. - prefer_rlib : پیوند
rustlibs
را تغییر میدهد تا پیوندrlib
را بهطور پیشفرض برای اهداف دستگاه انتخاب کند، وlibstd
بهعنوانrlib
در اهداف دستگاه پیوند میدهد. توجه داشته باشید که این رفتار پیشفرض برای اهداف میزبان است و هیچ تاثیری روی آنها ندارد.
پیوند
به طور پیشفرض، ماژولهای rust_binary
که دستگاهها را هدف قرار میدهند، همیشه بهصورت پویا با libstd
مرتبط هستند و بهطور پیشفرض کتابخانههای dylib
برای وابستگیهای فهرستشده در rustlibs
ترجیح میدهند، مگر اینکه prefer_rlib
true
باشد. اگر به باینری های کاملاً ثابت نیاز است، ویژگی static_executable
را ببینید.
ماژول های میزبان همیشه به صورت ایستا با libstd
مرتبط هستند و به طور پیش فرض کتابخانه های rlib
برای وابستگی هایی که در rustlibs
فهرست شده اند ترجیح می دهند.