... ami főleg static-ban fordítva szerintem nem menő. Apró önálló shell binárisok, de mindegyikbe bele van fordítva a teljes Rust mindenség.
Nézzünk egy legegyszerűbb példát.
$ rustc -O pelda.rs; strip pelda
# 287 kB egy alap Rust kód benne a körítéssel.
$ rustc -O pelda.rs -C prefer-dynamic; strip pelda
# 15 kB dinamikus Rust körítéssel.
# Ez utóbbi viszont akkor fut, ha a LIB-ek már az OS alapértelmezett LIB mappáinak valamelyikében vannak.
$ ./pelda
./pelda: error while loading shared libraries: libstd-61556e43b375c2c0.so: cannot open shared object file: No such file or directory
$ LD_LIBRARY_PATH=$HOME/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/ ./pelda
Szia
Nem a 287 kB a sok, hanem amikor ebből van például egy apró soho routeren vagy sbc-n párszáz alig valamit csináló önálló cmd alkalmazás (cat, cut és társai).
De reméljük mindez idővel szintén kikristályosodik.