使って、x86のためだけではなく全てのWindowsシステムのためのブロックを定義することができるということです。レイアウトとそのプラットフォーム上のCでの表現方法との互換性を保証します。使えば、パディングなしで構造体のメンバをレイアウトすることができます。列挙型にも適用することができます。)は包んでいるオブジェクトを指すハンドルとして非ヌルポインタを使います。それらは内部のアロケータによって管理されるため、手で作るべきではありません。参照は型を直接指す非ヌルポインタとみなすことが安全にできます。借用チェックやミュータブルについてのルールが破られた場合、安全性は保証されません。APIで扱うために使うことができます。型を使う必要があります。デフォルトでリンクします。あると定義されています。Cとのインターフェイスにおいては、ヌルになり得るポインタが使われることがしばしばあります。2つのバリアントを持ち、そのうちの1つが値を持っていなくてもう1つが単一のフィールドを持っているとき、それは「ヌルになり得るポインタの最適化」の対象になります。そのような列挙型が非ヌルの型でインスタンス化されたとき、それは単一のポインタとして表現され、データを持っていない方のバリアントはヌルポインタとして表現されます。ABIで使われるヌルになり得る関数ポインタの表現方法の1つです。CからのRustのコードの呼出しRustのコードをCから呼び出せる方法でコンパイルしたいときがあるかもしれません。これは割と簡単ですが、いくつか必要なことがあります。」で議論したように、この関数をCの呼出規則に従うようにします。アトリビュートはRustによる名前のマングリングをオフにして、リンクしやすいようにします。注意することは重要です。あなたがパニックし得るコードを書いているのであれば、他のスレッドで実行して、パニックがCに波及しないようにすべきです。}}オペーク構造体の表現ときどき、Cのライブラリが何かのポインタを要求してくるにもかかわらず、その要求されているものの内部的な詳細を教えてくれないことがあります。型で表現することができます。libc::c_void);}これはその状況に対処するための完全に正当な方法です。