Rustのランタイムは、従来のガベージコレクション系の言語、Java, Goにおけるランタイムと意味合いが異なる。
概要
- Rustランタイムは、標準ライブラリ
std
に組み込まれている- Rust言語のリポジトリにおける
src/libstd/rt.rs
がそれに該当する - Rustのランタイム = ヒープ、バックトレース、巻き戻し、スタックガードなどを提供するもの
- Rust言語のリポジトリにおける
- ユーザプログラムが実行される前に、
src/libstd/rt.rs
の初期化関数を呼び込む
fn lang_start(main: *const u8, argc: isize, argv: *const *const u8) -> isize
- 標準ライブラリなしでRustをコンパイルする場合、おおよそCのランタイムと等価
参考
https://prev.rust-lang.org/ja-JP/faq.html#does-rust-have-a-runtime github.com