Comment by pavon
4 years ago
I wonder if this might be even more useful for ReactOS, which is still actively supporting 32-bit x86, while Windows 11 no longer does.
4 years ago
I wonder if this might be even more useful for ReactOS, which is still actively supporting 32-bit x86, while Windows 11 no longer does.
Just grabbed the latest ISO to test it out :) - rust9x_sample.exe sadly only works in 98/Me compatibility mode. https://i.imgur.com/nWCfTtV.png
In regular mode it seems there's a problem with the system not setting the file pointer to the end when OpenOptions::append is used: https://i.imgur.com/vvbEnWh.png https://doc.rust-lang.org/std/fs/struct.OpenOptions.html#met...
This sounds like you've found a bug in either the Rust standard library or the ReactOS API implementation. It might be worth looking into this!
To clarify, it works in 98/Me mode because I added a fallback implementation to Rust9x for these systems, as the flag in question is not supported.
AFAICT it is supported since NT 3.1, though, and it worked fine on all NT-based systems I've tested so far, so my guess would be a ReactOS API bug.
The commit adding the 9x/Me fallback implementation:
https://github.com/rust9x/rust/commit/3a3eddb0044c6d03357a75...
You spooked me that Win11 had dropped support for 32-bit applications, but it seems they still work fine. There's no 32-bit version of the OS though.
Rather confusingly the death of the 32-bit version of Windows in practice just means they are dropping support for 16-bit DOS applications.
There is a WoW (windows on windows) subsystem which permitted you to either run 16-bit binaries on your 32-bit system, or 32-bit binaries on your 64-bit system; but there's no 16-on-64 or 16-on-32-on-64.
If you have a 64-bit version of Windows the compatibility layer[1] lives at `%SYSTEMROOT%\SysWoW64`.
[1]: https://en.wikipedia.org/wiki/Windows_on_Windows
You can use winevdm for this though, https://github.com/otya128/winevdm
4 replies →
> There is a WoW (windows on windows) subsystem
Oh my god, I always wondered why the WOW6432NODE registry key was named that but was never bothered enough to look it up. Thank you for triggering the random insight.
Yeah they worded that confusingly. That said, I feel like the writing is probably on the wall for 32-bit. My guess is this might be the real reason why they pushed for making Visual Studio 64-bit.
I commend you for finding a use-case for this because I'm scratching my head over if this is a toy project or filling some necessity.
Still a very awesome project!
Can confirm, toy project. But hey, if it helps someone who might actually need this, even better!
This is a really interesting point. I can imagine that being able to use Rust for ReactOS (and wine!) would bring lots of interesting opportunities for developers and new contributors.