Think Essentially

計算機テクノロジー全般が好きです

Rust ランタイムについてまとめる

Rustのランタイムは、従来のガベージコレクション系の言語、Java, Goにおけるランタイムと意味合いが異なる。

概要

  • Rustランタイムは、標準ライブラリstdに組み込まれている
    • Rust言語のリポジトリにおけるsrc/libstd/rt.rsがそれに該当する
    • 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

test

test

test