История изменений
Исправление tp_for_my_bunghole, (текущая версия) :
По дефолту Rust собирается статически, но если используется стандартная библиотека Rust то линкуется системная libc.
Буфер вывода в stdlib Rust глобальный, защищён мютексом.
Как работает буферизация вывода в «C» - это особенность реализации конкретной libc. Могут быть буферы для каждого потока.
Rust используя Musl libc собирается в полностью статический бинарник.
cargo build --target x86_64-unknown-linux-musl
Перед этим надо установить target Musl:
rustup target add x86_64-unknown-linux-musl
В языке Go реализуют системные вызовы без libc отдельно для каждой платформы. Если платформа нестабильна то надо следить и вносить исправления в реализацию в Go. Linux стабилен.
Но для OpenBSD в Go используют libc, как рекомендованный способ на таких OS(Solaris).
Исправление tp_for_my_bunghole, :
По дефолту Rust собирается статически, но если используется стандартная библиотека Rust то линкуется системная libc.
Буфер вывода в stdlib Rust глобальный, защищён мютексом.
Как работает буферизация вывода в «C» - это особенность реализации конкретной libc. Могут быть буферы для каждого потока.
Rust используя Musl libc собирается в полностью статический бинарник.
cargo build --target x86_64-unknown-linux-musl
Перед этим надо установить target Musl:
rustup target add x86_64-unknown-linux-musl
В языке Go реализуют системные вызовы без libc отдельно для каждой платформы. Если платформа нестабильна то надо следить и вносить исправления в реализацию в Go. Linux стабилен.
Но для Solaris и OpenBSD в Go используют libc, как рекомендованный способ на этих OS.
Исправление tp_for_my_bunghole, :
По дефолту Rust собирается статически, но если используется стандартная библиотека Rust то линкуется системная libc.
Буфер вывода в stdlib Rust глобальный, защищён мютексом.
Как работает буферизация вывода в «C» - это особенность реализации конкретной libc. Могут быть буферы для каждого потока.
Rust используя Musl libc собирается в полностью статический бинарник.
cargo build --target x86_64-unknown-linux-musl
В языке Go реализуют системные вызовы без libc отдельно для каждой платформы. Если платформа нестабильна то надо следить и вносить исправления в реализацию в Go. Linux стабилен.
Но для Solaris и OpenBSD в Go используют libc, как рекомендованный способ на этих OS.
Исправление tp_for_my_bunghole, :
По дефолту Rust собирается статически, но если используется стандартная библиотека Rust то линкуется системная libc.
Буфер вывода в stdlib Rust глобальный, защищён мютексом.
Как работает буферизация вывода в «C» - это особенность реализации конкретной libc.
Rust используя Musl libc собирается в полностью статический бинарник.
cargo build --target x86_64-unknown-linux-musl
В языке Go реализуют системные вызовы без libc отдельно для каждой платформы. Если платформа нестабильна то надо следить и вносить исправления в реализацию в Go. Linux стабилен.
Но для Solaris и OpenBSD в Go используют libc, как рекомендованный способ на этих OS.
Исходная версия tp_for_my_bunghole, :
По дефолту Rust собирается статически, но если используется стандартная библиотека Rust то линкуется системная libc.
Буфер вывода в stdlib Rust глобальный, защищён мютексом.
Как работает буферизация вывода в «C» - это особенность реализации конкретной libc.
Rust используя Musl libc собирается в полностью статический бинарник.
cargo build --target x86_64-unknown-linux-musl
В языке Go реализуют системные вызовы без libc отдельно для каждой платформы. Если платформа нестабильна то надо следить и вносить исправления в реализацию в Go. Linux стабилен.