Embarcadero "Download the Free C++ Compiler" # - As of 2021-09, download of the free “Embarcadero C++ 10.2 'Tokyo' Compiler and Command-line Tools”. “Dieser Gratis-Download des C++-Compilers für C++Builder enthält Sprachunterstützung für C++11, das Dinkumware STL-Framework (Standard Template Library) und die vollständige Embarcadero C/C++-Runtime Library (RTL). In der Gratis-Version finden Sie ebenfalls eine Anzahl an C/C++-Kommandozeilenwerkzeugen, wie den leistungsstarken Linker und den Ressourcen-Compiler”.
Experts told me in 2016, that the current Embarcadero C/C++ compiler is still more-or-less on the C++ language level of “Borland C/C++” of 1998, or so...., i.e. not on C++ language level C11 or even C17.
“This version requires 32-bit Windows 95 or NT. It can still produce executables for DOS and Windows 3.1. This was the last full version of the product before it was replaced with Borland C++ Builder. Borland released a free download of 'Borland c++ 5.5', but that was a minimal command line version”. “Installation does not ask for a serial”.
“Make shure the line: FILES=40 is in your CONFIG.SYS file”.
IDE ( “C:\BORLAND\BC5\bin\bcw.exe” ) - “Unsupported 16-Bit Application” error message on Win10 64-bit , but the IDE, the compiler & linker are running on Win10 64-bit.
Digital Mars C/C++ compiler ( formerly: Datalight C / Zorland C / Zortech C and Zortech C++ / Symantec C++ ) for Win32, Win16, DOS32 and DOS, by Walter Bright.
“Library Functions. Digital Mars C++ supports most Borland library functions. The table below lists those Borland functions that the Digital Mars C++ run-time library does not support” ⇒ inport, inportb, outport, outportb ????
DE.Wikipedia "D (programming language)" - “The D programming language is an object-oriented, imperative, multi-paradigm system programming language created by Walter Bright of Digital Mars”.
EDM/2 "Zortech C++", EDM/2 "Symantec C++" - “After Symantec stopped selling the package the original developer started selling it under the Digital Mars name and currently offers the basic version of it as a free download, however that version offers support for 16 and 32 code generation for both DOS and Microsoft Windows but contains no OS/2 support”.
unzip32 A free program to unzip the archive (like PKUNZIP)
djdev205 DJGPP V2 Development Kit and Runtime
djlsr205 DJGPP V2 Base Library Sources
djtst205 DJGPP V2 Test Programs (for testing the C library)
djcrx205 DJGPP V2 Cross-to-DOS Compiler Support Files (from djlsr/djdev).
djtzn205 DJGPP V2 Timezone Files
djtzs205 DJGPP V2 Timezone Sources
faq*b The full FAQ list in various formats (Info, ASCII, HTML...)
faq*s The Texinfo sources of the FAQ and tools to generate all the different formats of the FAQ
frfaq* DJGPP FAQ en Francais
v2apps/ (various applications built with/for DJGPP, like RHIDE and TeX)
v2gnu/ ports of various FSF/GNU programs to DJGPP, like gcc and binutils)
v2tk/ (various toolkits for use with DJGPP, like Allegro and libsocket)
v2misc/
csdpmi* CWSDPMI, Charles Sandmann's free DPMI server binaries and docs
mlp* ML's Executable File Packer Binaries (“djp”)
pmode* PMODE stub for djgpp V2
wmemu* WM's alternative 387 emulator binaries for DJGPP V2 (and other miscellaneous things to use with DJGPP
Installation: “set the DJGPP environment variable to point to the file DJGPP.ENV in the main DJGPP installation directory and add its BIN subdirectory to your PATH”.
“I can't find any C++ cross-compiler for DOS that can run a modern Windows system”.
“This release ( v2.8, GCC 7.2.0 ) works perfectly on Windows 10 x64. The only thing I could wish for is a newer compiler version like G++ 8 or 9”, 2019-09.
DJGPP Frequently-Asked Questions List. Edition 2.10, for DJGPP Version 2.01. January 1997 - “Starting from v2.0, DJGPP programs do not need a separate extender program, only a DPMI server to run; DJGPP includes a free 32-bit DPMI server which allows for a 32-bit, 4 GByte flat address space and up to 256 MBytes of virtual memory, a compiler which produces 32-bit protected-mode code, and a suite of GNU development tools ported to MS-DOS”.
To test if you properly installed MinGW, use Windows CMD, not Powershell. CMD reports missing DLLs ( “The code execution cannot proceed because XXX.dll was not found. Reinstalling the program may fix this problem” ), while Powershell quits without notice .
“MinGW Developer Studio” for Windows and Linux, by Parinya Thipchart.
VaulTec "MinGW Developer Studio" - “As an effort to keep MinGW Developer Studio alive, I have created updated installers for MinGW Developer Studio 2.05 for Windows with a newer version of the MinGW compiler system and ResEd resource editor”.
MSDN "Microsoft Interface Definition Language" (MIDL) - “The Microsoft Interface Definition Language (MIDL) defines interfaces between client and server programs. Microsoft includes the MIDL compiler with the Platform Software Development Kit (SDK)”.
“The NVIDIA HPC Software Development Kit (SDK) includes the proven compilers, libraries and software tools essential to maximizing developer productivity and the performance and portability of HPC applications”.
“C++17 parallel algorithms enable portable parallel programming using the Standard Template Library (STL). The NVIDIA HPC SDK C++ compiler supports full C++17 on CPUs and offloading of parallel algorithms to NVIDIA GPUs, enabling GPU programming with no directives, pragmas, or annotations. Programs that use C++17 parallel algorithms are readily portable to most C++ implementations for Linux, Windows, and macOS”.
Software:
Linux √.
Windows, 2021-10: “The NVIDIA HPC SDK for Windows will be available at a later date” .
EN.Wikipedia "The Portland Group" - “On August 5, 2020, Nvidia announced that the “PGI Compilers and Tools” product line has evolved into a new NVIDIA HPC SDK product available as a free download from Nvidia. The Nvidia HPC SDK includes rebranded PGI compilers and added features for developing HPC applications”.
GitHub "open-watcom / open-watcom-v2" - “Open Watcom Documentation”. “Version 2.0”, but somehow on the state of “Watcom C/C++ 11.0”, i.e. before “Open Watcom 1.0”.
Preprocessor macros described in the manual, e.g. “_WINDOWS” and “WINDOWS_386” don't exist with “Open Watcom 1.9” .
The data type “long long”, as available with “Open Watcom 1.9” , is not documented .
The exe files in the “binw” directory are 16-bit applications which can´t be executed on Win10 64bit . Have a try with Win10 32-bit .
The exe files in the “binnt” directory are 32-bit applications which can be executed on Win10 64bit .
“C:\WATCOM\binnt\ide.exe” - The 32-bit IDE.
gamedev.net "DOS programming in C - compiler errors" - “In K&R C and C89, all variables must be declared at the top of the scope. Declaring pScreen after non-variable declaration statements have been made is non-kosher” ⇒ This is true for WATCOM-C !!!!. If you fail, typical error message “Error! E1077: Missing '}'”, plus many other subsequent error messages .
GotW.ca: Herb Sutter - “Herb Sutter is a leading authority on software development. He is the best selling author of 'Exceptional C++' and three other books”.
setjmp() saves its stack environment in env (whose type, jmp_buf, is defined in the header file) for later use by longjmp(). It returns the value 0.
longjmp() restores the environment saved by the last call of setjmp() with the corresponding env argument. After longjmp() is completed, program execution continues as if the corresponding call of setjmp() (which must not itself have returned in the interim) had just returned the value val. longjmp() cannot cause setjmp() to return the value 0. If longjmp() is invoked with a second argument of 0, setjmp() returns 1. All accessible data values are valid as of the time longjmp() is called. https://docstore.mik.ua/manuals/hp-ux/en/B2355-60130/setjmp.3C.html
StackOverflow "Const arrays in C" - “You can't create a const array because arrays are objects and can only be created at runtime and const entities are resolved at compile time” .
GitHub "gavinhoward/bc" - “An implementation of the POSIX bc calculator with GNU extensions and dc, moved away from GitHub. Finished, but well-maintained”.
gamedev.net "DOS programming in C - compiler errors" - “In K&R C and C89, all variables must be declared at the top of the scope. Declaring pScreen after non-variable declaration statements have been made is non-kosher”.
“The minimum size for char is 8 bits, the minimum size for short and int is 16 bits, for long it is 32 bits and long long must contain at least 64 bits”.
“long long - Specified since the C99 version of the standard”.
WATCOM-C datatypes:
INTEGER*4 ⇒ 32 bit.
COMPLEX*16 ⇒ REAL 64 bit, IMAGINARY 64 bit ⇒ 64 bit.