Hacker News new | past | comments | ask | show | jobs | submit login

Oh, in C/C++. Title should say that.

In Rust, you just use no_std for small embedded work.




And in C you use -ffreestanding/nostdlib

The problem was how to make sure 3rd party libraries don't allocate.


Doesn’t the compiler do some hidden allocations?

And as a follow up, why use rust if allocations mean ownership rules are no longer needed?


Rust with no_std (and without the Alloc crate) won't do any hidden heap allocations. There's no allocator at all in such an environment! There is still a stack, and there are still static allocations. And of course you can still allocate statically in your linker script.

Ownership still matters, because nothing about ownership cares about heap allocation vs stack allocation.


Thanks for clarifying this. My dabbling in Rust a few years ago ended when I could not find a satisfying answer to the question "how do I prevent any unwanted dynamic allocations in this language?". At the time I found no good answers and gave up on trying to learn the language as that was not the kind of thing I was willing to relinquish to the wisdom of the compiler.


In Ada one uses the Ravenscar profile.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: