、我々は戻り値の最適化を忘れて、次のコードがある場合:領域ベースのメモリ管理を使用するRustですか?例えば
fn func() -> Box<String> {
Box::new(String::new())
}
fn main() {
let boxed_string = func();
}
コンパイラがメモリを管理するための領域を作成するのか、それが通常のヒープ割り当てを使うのでしょうか?
私はこの単純なコードが最適化されている可能性がありますが、より複雑なコードではそうではない可能性があります。
あなたの答えをありがとう。これはどこに文書化されていますか? – antoyo
GCCがすべてのプログラムにガベージコレクタをリンクしていないことがどこに書かれているのか分かりません。それはちょうど...一般的な知識なので、言いたいことです。 – delnan
@antoyo:これは私が知る限り文書化されていませんが、放出されたLLVM IRをいつでもチェックアウトすることができます(アセンブリより読みやすいと思います)。 –