6
6
<!-- allocation, and others. There are systems that do not have these features, -->
7
7
<!-- however, and Rust can work with those too! To do so, we tell Rust that we -->
8
8
<!-- don’t want to use the standard library via an attribute: `#![no_std]`. -->
9
- Rustの標準ライブラリは多くの便利な機能を提供している一方で、
10
- スレッド、ネットワーク、ヒープアロケーション、その他の多くの機能をホストシステムが提供していることを前提としています 。
11
- 一方で、それらの機能を提供していないシステムも存在します。 しかし、Rustはそれらの上でも利用することができます!
9
+ Rustの標準ライブラリは多くの便利な機能を提供している一方で、スレッド、ネットワーク、ヒープアロケーション、その他の多くの機能をホストシステムが提供していることを前提としています。
10
+ 一方で、それらの機能を提供していないシステムも存在します 。
11
+ しかし、Rustはそれらの上でも利用できます!
12
12
それは、Rustに標準ライブラリを利用しないということを ` #![no_std] ` アトリビュートを利用して伝えることで可能となります。
13
13
14
-
15
14
<!-- > Note: This feature is technically stable, but there are some caveats. For -->
16
15
<!-- > one, you can build a `#![no_std]` _library_ on stable, but not a _binary_. -->
17
16
<!-- > For details on binaries without the standard library, see [the nightly -->
18
17
<!-- > chapter on `#![no_std]`](no-stdlib.html) -->
19
- > メモ: このフィーチャーは技術的には安定していますが、いくつか注意点が有ります 。
18
+ > メモ: このフィーチャーは技術的には安定していますが、いくつか注意点があります 。
20
19
> 例えば、 ` #![no_std] ` を含んだ _ ライブラリ_ は 安定版でビルド可能ですが、 _ バイナリ_ はビルド不可能です。
21
20
> 標準ライブラリを利用しないバイナリについては [ ` #![no_std] ` についての不安定版のドキュメント] ( no-stdlib.html ) を確認してください。
22
21
23
- <!-- To use `#![no_std]`, add a it to your crate root: -->
22
+ <!-- To use `#![no_std]`, add it to your crate root: -->
24
23
` #![no_std] ` アトリビュートを利用するには、クレートのトップに以下のように追加します:
25
24
26
25
``` rust
@@ -35,16 +34,13 @@ fn plus_one(x: i32) -> i32 {
35
34
<!-- available via the [`core` crate](../core/). When we’re using the standard -->
36
35
<!-- library, Rust automatically brings `std` into scope, allowing you to use -->
37
36
<!-- its features without an explicit import. By the same token, when using -->
38
- <!-- `!# [no_std]`, Rust will bring `core` into scope for you, as well as [its -->
37
+ <!-- `#! [no_std]`, Rust will bring `core` into scope for you, as well as [its -->
39
38
<!-- prelude](../core/prelude/v1/). This means that a lot of code will Just Work: -->
40
39
標準ライブラリで提供されている多くの機能は [ ` core ` クレート] ( ../core/ ) を用いることでも利用できます。
41
- 標準ライブラリを利用しているとき、Rustは自動的に ` std ` をスコープに導入し、
42
- 標準ライブラリの機能を明示的にインポートすること無しに利用可能にします。
43
- それと同じように、もし ` #![no_std] ` を利用しているときは、
44
- Rustは自動的に ` core ` と [ そのプレリュード] ( ../core/prelude/v1/ ) をスコープに導入します。
40
+ 標準ライブラリを利用しているとき、Rustは自動的に ` std ` をスコープに導入し、標準ライブラリの機能を明示的にインポートすること無しに利用可能にします。
41
+ それと同じように、もし ` #![no_std] ` を利用しているときは、Rustは自動的に ` core ` と [ そのプレリュード] ( ../core/prelude/v1/ ) をスコープに導入します。
45
42
これは、例えば多くの以下のようなコードが動作することを意味しています:
46
43
47
-
48
44
``` rust
49
45
#![no_std]
50
46
0 commit comments