Hacker Newsnew | past | comments | ask | show | jobs | submit | seritools's commentslogin

According to https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B#Histo..., the last version to support Win3.1 is VC++ 1.52 (which was shipped with VC++ up to version 4).

Unless you mean NT3.1 of course :^)


I sit corrected. use VS4, also from archive.org, same serial. produced binaries will also work on win11


it would, just without standard library support, as the default stdlib imports system APIs that older versions don't provide. Other than those and a "supported OS version" filed in the PE header there isn't really much else in your way (hence my Rust9x project)


I thought win16 only supported NE and MZ, does it support PE?


this comment thread hasn't been talking about win16.

but you're right, win16 can only load some 32-bit PE files through something like Win32s


likely no_std, and running via Win32s. Rust doesn't have support for segmented memory, so native 16-bit would be much harder


I believe there is AVR support for Rust, which is 16-bit with separate code and data pointer types?


sorry, i was referring specifically to the x86 segmented memory model: https://en.wikipedia.org/wiki/X86_memory_segmentation (basically, near and far pointers)


it's the "thin" browsers that are half-embedded in other apps, such as Google News. In the menu you can see "Running in Chrome" and "Open in <yourdefaultbowser>"


This feature is called Android Custom Tabs and it is supported by most browsers on Android afaik. I use Firefox for this purpose, but it is possible that certain Google apps always use Chrome for this, not entirely sure.


"can do things" in this case doesn't mean "is allowed to do things".

"Unsafe code allows to express the following, which is UB:"



> Notepad had been a native app until very recently, and it still opened pretty much instantaneously. With its rewrite as a UWP app, things went downhill. The before and after are apparent, and yet… the app continues to be as unfeatureful as it had always been. This is extra slowness for no user benefit.

We now have HUGE (/s) advancements in Notepad, like tabs and uh... Copilot


Don't forget dark mode!


I remember Windows 3.1 where I could change not only the color of the buttons, but the color of the light and shadow edge.


> If the size of the new type is larger than the size of the last-written type, the contents of the excess bytes are unspecified (and may be a trap representation). Before C99 TC3 (DR 283) this behavior was undefined, but commonly implemented this way.

https://en.cppreference.com/w/c/language/union

> When initializing a union, the initializer list must have only one member, which initializes the first member of the union unless a designated initializer is used(since C99).

https://en.cppreference.com/w/c/language/struct_initializati...

→ = {0} initializes the first union variant, and bytes outside of that first variant are unspecified. Seems like GCC 15.1 follows the 26 year old standard correctly. (not sure how much has changed from C89 here)


> I didn't do performance testing or anything, it just didn't seem like there was any point in trying to compete with whatever millisecond-scale gainz libpng presumably had over my library when both of them are capable of loading the picture in less time it takes me to recognize the picture on the screen in front of me.

The gains become relevant in bulk processing.


It's instructions for the Windows RDP server to enable RemoteFX support so that the Rust client can make use of it.

Maybe I'm missing something, but for the server side it's only crates that help you build your own server, no direct integration with any system, be it Windows or otherwise.


Ok, so there is a server for Linux as well?


Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: