Subj : Re: Compilers/systems To : andrew clarke From : Vitaliy Aksyonov Date : Tue Feb 07 2023 02:09 pm Привет, andrew! 08 Feb 23 06:52, ты писал(а) мне: ac>>> From memory the very recent versions of MSVC no longer produce ac>>> binaries that will run under Windows XP. I've found a good ac>>> "middle ground" is something like Visual Studio 2012, which ac>>> still runs well under Windows 10 & 11. VA>> Visual Studio 2012 is not available anymore. Oldest one is 2013. VA>> Would it produce binaries for Windows XP? ac> I'm not sure, but if your C++ code builds with a modern version of ac> MSVC then it will probably build with VS2012, so anyone with that ac> compiler should still be able to build a version that will run in XP ac> unless you're using a new C++ feature from C++11 or C++20 that VS2012 ac> doesn't support. That's my plan. Switch to STL where possible and stay compatible with older compilers. ac> But for GoldED it shouldn't really be necessary to refactor the code ac> using C++'s increasingly estoric features. Instead, just using ac> features from the STL would be a big improvement. Totally agree. Code will be much safer and easier to support. ac>>> OTOH it would be preferable if a free compiler could be used in ac>>> Windows. Recently I learned that in 2020 Embarcadero released a ac>>> fork of Dev-C++ that provides GCC 9.2 and supports C++11: VA>> MS provides free VS community edition. I don't see any reasons VA>> why can't it be used. ac> I'd forgotten about the community edition. But it's used for windows builds. Need to be supported too. Windows is not very developer-friendly system. I like Unix-style systems much more for development. ac> I suppose you could use that, though the modern versions of VS are ac> kind of scary. I mean a 10+ GB download just to compile "Hello world" ac> in C is a bit excessive. The download is bigger than any regular Linux ac> distro. Just for the IDE and C/C++ compiler. That is true. I don't know what do they put there. Maybe crypto miner? ;) ac> It's strange Microsoft never released a free version of MSVC with just ac> the compiler, header files and libraries but without the IDE. Borland ac> did that in 2000, 23 years ago! I think it even had STL support. Who knows, why? Probably there is some secret optimizations. Or maybe code is so ugly, that they shy to show it to wide public. :D BTW, their STL implementation was very bad performance wise when they introduced VS 2015. They focused on following standard even with performance penalty. Our company stayed on STLPort for long time because of that. ac>>> I was going to suggest DOS/DPMI support should be dropped, but I ac>>> see GCC 10.2.0 was ported to DJGPP in 2020, so that's probably ac>>> useable. Though I doubt many people would complain if DOS ac>>> support was removed from future GoldED versions. There are people who may build it on DOS. I'll take that help. VA>> That's a good question. Main concern here is that FidoNet is VA>> mostly retro hobby and people may want to run it on old computers VA>> and old OSes. ac> Well they can still run the older retro versions. That is true. But what if they want to use new features or fix some nasty bugs? The more master evolves - the harder would be to backport such changes. From other side - that decision will be made sooner or later. Then nice features like smart pointers or other may be used. ac> The question really comes down to whether you and other devs are ac> hamstrung by having to still support DOS. Of course if it turns out to ac> be easy to keep supporting it, eg. by cross-compiling with OpenWatcom, ac> then that's good news. I'll try. I don't want to break it yet. First touches will be just to make safe changes and learn the code. It's big! ac>>> Another option for Windows, OS/2 & DOS may be to build with a ac>>> recent version of OpenWatcom 2.0, though I don't know how well ac>>> it supports STL or C++11. It may be good enough. The great thing ac>>> about OpenWatcom 2.0 is can run under Linux, and it's also a ac>>> cross-compiler, so you can build DOS, Windows & OS/2 apps from ac>>> Linux. VA>> I like the idea of using cross-compiling. In this case there is VA>> no need to setup many different systems. Even if they work on VA>> virtual machine. ac> It does simplify things. It's also really fast. ac> Though another option for cross-compiling (Linux to Windows, and also ac> MacOS to Windows) is mingw-w64. Maybe some day... I'm not ready to setup that evnironment yet. VA>> From what I've read about OpenWatcom - they don't really conform VA>> fully to even C++98 and I'm not sure about C++11 support either. VA>> Need to try that. VA>> Even refactor code to use C++98 would be a huge improvement. It's VA>> full of old pure C approaches. ac> Yep, modern C/C++ in OW2.0 is a bit hit-and-miss, though there is at ac> least some STL support available, ie. strings, vectors, stacks, etc. ac> It's worth experimenting with it just to learn what its limits are, ac> with respect to which C++ features you'd like to use. It may be good ac> enough. Totally argee! Best regards, Vitaliy Aksyonov. --- GoldED+/LNX 1.1.5-b20220504 * Origin: Aurora, Colorado (1:104/117) .