I want to do some code refactoring to remove dangerous coding
approaches. Like memset() instead of new(), printf(), etc.
Which compilers are still in use to build GoldED+ and for which systems?
Another option for Windows, OS/2 & DOS may be to build with a recent version of OpenWatcom 2.0, though I don't know how well it supports
STL or C++11. It may be good enough. The great thing about OpenWatcom
2.0 is can run under Linux, and it's also a cross-compiler, so you can build DOS, Windows & OS/2 apps from Linux.
I want to do some code refactoring to remove dangerous coding
approaches. Like memset() instead of new(), printf(), etc.
Which compilers are still in use to build GoldED+ and for which
systems?
If you're taking over development then it's really up to you what you
want to support.
Linux, FreeBSD or MacOS users will have modern versions of GCC and
Clang available.
Ideally the Windows version should be built with a version of MSVC
that has full STL support. This would exclude now-ancient MSVC
versions like Visual Studio 6.0 from 1998.
From memory the very recent versions of MSVC no longer produce
binaries that will run under Windows XP. I've found a good "middle
ground" is something like Visual Studio 2012, which still runs well
under Windows 10 & 11.
OTOH it would be preferable if a free compiler could be used in
Windows. Recently I learned that in 2020 Embarcadero released a fork
of Dev-C++ that provides GCC 9.2 and supports C++11:
https://github.com/Embarcadero/Dev-Cpp/releases
OS/2 I'm not really sure about, but I know there are modern versions
of GCC available from the Netlabs repos.
I was going to suggest DOS/DPMI support should be dropped, but I see
GCC 10.2.0 was ported to DJGPP in 2020, so that's probably useable.
Though I doubt many people would complain if DOS support was removed
from future GoldED versions.
Another option for Windows, OS/2 & DOS may be to build with a recent version of OpenWatcom 2.0, though I don't know how well it supports
STL or C++11. It may be good enough. The great thing about OpenWatcom
2.0 is can run under Linux, and it's also a cross-compiler, so you can build DOS, Windows & OS/2 apps from Linux.
I remember you told me you discovered that OpenWatcom 2 had no full support of C11. So, the fact that this compiler supports C++11 is also questionable.
From memory the very recent versions of MSVC no longer produce
binaries that will run under Windows XP. I've found a good "middle
ground" is something like Visual Studio 2012, which still runs well
under Windows 10 & 11.
Visual Studio 2012 is not available anymore. Oldest one is 2013. Would
it produce binaries for Windows XP?
OTOH it would be preferable if a free compiler could be used in
Windows. Recently I learned that in 2020 Embarcadero released a
fork of Dev-C++ that provides GCC 9.2 and supports C++11:
MS provides free VS community edition. I don't see any reasons why can't it be used.
I was going to suggest DOS/DPMI support should be dropped, but I
see GCC 10.2.0 was ported to DJGPP in 2020, so that's probably
useable. Though I doubt many people would complain if DOS support
was removed from future GoldED versions.
That's a good question. Main concern here is that FidoNet is mostly
retro hobby and people may want to run it on old computers and old OSes.
Another option for Windows, OS/2 & DOS may be to build with a
recent version of OpenWatcom 2.0, though I don't know how well it
supports STL or C++11. It may be good enough. The great thing about
OpenWatcom 2.0 is can run under Linux, and it's also a
cross-compiler, so you can build DOS, Windows & OS/2 apps from
Linux.
I like the idea of using cross-compiling. In this case there is no need
to setup many different systems. Even if they work on virtual machine.
From what I've read about OpenWatcom - they don't really conform fully
to even C++98 and I'm not sure about C++11 support either. Need to try that.
Even refactor code to use C++98 would be a huge improvement. It's full
of old pure C approaches.
so anyone with that compiler should still be able to build a version
that will run in XP unless you're using a new C++ feature from C++11
or C++20 that VS2012 doesn't support.
But for GoldED it shouldn't really be necessary to refactor the code
using C++'s increasingly estoric features. Instead, just using
features from the STL would be a big improvement.
From memory the very recent versions of MSVC no longer produce
binaries that will run under Windows XP. I've found a good
"middle ground" is something like Visual Studio 2012, which
still runs well under Windows 10 & 11.
Visual Studio 2012 is not available anymore. Oldest one is 2013.I'm not sure, but if your C++ code builds with a modern version of
Would it produce binaries for Windows XP?
MSVC then it will probably build with VS2012, so anyone with that
compiler should still be able to build a version that will run in XP unless you're using a new C++ feature from C++11 or C++20 that VS2012 doesn't support.
But for GoldED it shouldn't really be necessary to refactor the code
using C++'s increasingly estoric features. Instead, just using
features from the STL would be a big improvement.
OTOH it would be preferable if a free compiler could be used in
Windows. Recently I learned that in 2020 Embarcadero released a
fork of Dev-C++ that provides GCC 9.2 and supports C++11:
MS provides free VS community edition. I don't see any reasonsI'd forgotten about the community edition.
why can't it be used.
I suppose you could use that, though the modern versions of VS are
kind of scary. I mean a 10+ GB download just to compile "Hello world"
in C is a bit excessive. The download is bigger than any regular Linux distro. Just for the IDE and C/C++ compiler.
It's strange Microsoft never released a free version of MSVC with just
the compiler, header files and libraries but without the IDE. Borland
did that in 2000, 23 years ago! I think it even had STL support.
I was going to suggest DOS/DPMI support should be dropped, but I
see GCC 10.2.0 was ported to DJGPP in 2020, so that's probably
useable. Though I doubt many people would complain if DOS
support was removed from future GoldED versions.
That's a good question. Main concern here is that FidoNet isWell they can still run the older retro versions.
mostly retro hobby and people may want to run it on old computers
and old OSes.
The question really comes down to whether you and other devs are
hamstrung by having to still support DOS. Of course if it turns out to
be easy to keep supporting it, eg. by cross-compiling with OpenWatcom, then that's good news.
Another option for Windows, OS/2 & DOS may be to build with a
recent version of OpenWatcom 2.0, though I don't know how well
it supports STL or C++11. It may be good enough. The great thing
about OpenWatcom 2.0 is can run under Linux, and it's also a
cross-compiler, so you can build DOS, Windows & OS/2 apps from
Linux.
I like the idea of using cross-compiling. In this case there isIt does simplify things. It's also really fast.
no need to setup many different systems. Even if they work on
virtual machine.
Though another option for cross-compiling (Linux to Windows, and also MacOS to Windows) is mingw-w64.
From what I've read about OpenWatcom - they don't really conform
fully to even C++98 and I'm not sure about C++11 support either.
Need to try that.
Even refactor code to use C++98 would be a huge improvement. It's
full of old pure C approaches.
Yep, modern C/C++ in OW2.0 is a bit hit-and-miss, though there is at
least some STL support available, ie. strings, vectors, stacks, etc.
It's worth experimenting with it just to learn what its limits are,
with respect to which C++ features you'd like to use. It may be good enough.
MS provides free VS community edition. I don't see any reasons
why can't it be used.
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.
I suppose you could use that, though the modern versions of VS are
kind of scary. I mean a 10+ GB download just to compile "Hello
world" in C is a bit excessive. The download is bigger than any
regular Linux distro. Just for the IDE and C/C++ compiler.
That is true. I don't know what do they put there. Maybe crypto miner?
;)
It's strange Microsoft never released a free version of MSVC with
just the compiler, header files and libraries but without the IDE.
Borland 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 VS2015. They focused on following standard even with performance penalty. Our company stayed on STLPort for long time
because of that.
That's a good question. Main concern here is that FidoNet is
mostly retro hobby and people may want to run it on old computers
and old OSes.
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.
andrew clarke wrote to Vitaliy Aksyonov <=-
Then there are retro folks (like us) who prefer to use Linux, MacOS or FreeBSD terminals, and the latest version of GoldED or whatever.
From memory the very recent versions of MSVC no longer produce
binaries that will run under Windows XP. I've found a good "middle
ground" is something like Visual Studio 2012, which still runs well
under Windows 10 & 11.
Visual Studio 2012 is not available anymore. Oldest one is 2013. Would
it produce binaries for Windows XP?
From memory the very recent versions of MSVC no longer produce
binaries that will run under Windows XP. I've found a good
"middle ground" is something like Visual Studio 2012, which
still runs well under Windows 10 & 11.
Visual Studio 2012 is not available anymore. Oldest one is 2013.
Would it produce binaries for Windows XP?
For the record the freeware Visual C++ 2005 Express is still available
to download from Microsoft:
https://go.microsoft.com/fwlink/?linkid=57034
or
https://download.microsoft.com/download/A/9/1/A91D6B2B-A798-47DF-9C7E- A97854B7DD18/VC.iso
From my limited testing it will install and run under Windows 11
provided you install the .NET 3.5 Framework first.
Visual Studio 2012 is not available anymore. Oldest one is 2013.
Would it produce binaries for Windows XP?
For the record the freeware Visual C++ 2005 Express is still available
to download from Microsoft:
https://go.microsoft.com/fwlink/?linkid=57034
or
https://download.microsoft.com/download/A/9/1/A91D6B2B-A798-47DF-9C7E-A9 7854B7DD18/VC.iso
From my limited testing it will install and run under Windows 11
provided you install the .NET 3.5 Framework first.
For the record the freeware Visual C++ 2005 Express is still
available to download from Microsoft:
https://go.microsoft.com/fwlink/?linkid=57034
or
https://download.microsoft.com/download/A/9/1/A91D6B2B-A798-47DF-9C
7E- A97854B7DD18/VC.iso
From my limited testing it will install and run under Windows 11
provided you install the .NET 3.5 Framework first.
Great. Thanks. Downloaded it. Will try to build current master later. I have Windows 10 on my computer.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 371 |
Nodes: | 16 (2 / 14) |
Uptime: | 174:40:51 |
Calls: | 7,915 |
Files: | 12,983 |
Messages: | 5,797,723 |