Download QB64 2.0
QB64 is a modern version of the BASIC programming language. The code is compiled to machine language, making it fast and linking to external C and C++ programming libraries. It is nearly fully compatible with QBasic 4.5 and includes support for extensions such as OpenGL. QB64 is also open source, available for Windows, Linux and macOS, has a good wiki and support forum. In version 2.0 we find new debug features in the IDE. The changelog for this release looks like this:
New features
All platforms
- New $Debug metacommand, with added breakpoint/step abilities and real-time variable watching to the IDE.
- Quick reference for commands is now shown in the status bar when syntax errors are detected.
- _Source is now also set to _Console when $Console:Only is used.
- Allows Ctrl+\ to be used as a shortcut to repeat search (legacy QBasic shortcut).
- Functions _MK$ and _CV can now deal with _OFFSET values.
- New “View on Wiki” button on help panel (launches equivalent wiki page using the default browser).
- New _EnvironCount function to show how many environment variables are found.
- Color schemes can now be set/saved individually for each running instance of the IDE.
Windows
- Automatically embeds a manifest file when compiling an exe with $VersionInfo, so that Common Controls v6.0 gets linked at runtime.
- Adds the %TEMP%, Program Files and Program Files (x86) directories to _Dir$() folder specifications.
Fixes
All platforms
- Improved wiki parser.
- Contextual menu would crash when right-clicking a series of high-ascii characters.
- Fixes an issue with passing an array as a Sub/Function argument (missing parenthesis now properly detected).
- Fixes Clear making $Console mode invalid.
- Fixes a syntax highlighter issue regarding scientific notation.
- Fixes an issue in Windows Vista and up with incorrect resolution returned on a scaled desktop.
- Fixes Const parser accepting unsupported string functions and failing with some very specific const names.
- Explicitly sets x87 fpu to extended precision mode.
- Removes 255-character limit for Input/Line Input with strings.
- Fixes Data commands failing to compile in some circumstances.
- $NoPrefix, Option _Explicit and Option _ExplicitArray can now be placed anywhere in a program, no longer having to be the first statement.
- Fixes MEM reverting to _MEM as a sub parameter in $NoPrefix mode.
- Fixes case adjustment of array names in UBound/LBound calls.
- Prevents users from creating self-referencing Type blocks.
- Fixes issue that prevented loading file names beginning with numbers.
- Fixes file open/save dialogs issue with path navigation.
- Complete rewrite of the internals for Environ$().
- Fixes evaluation of valid var/flag names for $Let/$If – same rules for variable names now apply.
- Fixes incorrect parsing of Type blocks with multiple elements using the AS type element-list syntax.
- Fixes issue with Put # and variable-length strings in UDTs (Binary files).
- Fixes issue with recursive functions without parameters.
Windows
- Allows $Console:Only programs to return _WindowHandle.
- Saving a file to the root of a drive would display double backslashes in the Recent Files list.
- Allows the “move” mouse icon to be set with _MouseShow.
macOS
- Flushes the console output so Print can properly display text even while retaining the cursor.
- Allows the “cycle” mouse icon to be set with _MouseShow.
Linux
- xmessage added to dependency list (setup script).
- Fixes InKey$ acting too slow.
- Fixes compilation error with Data statements on gcc 11.
- Detects non-x86 based architectures.
- Flushes the console output so Print can properly display text even while retaining the cursor.
- Allows the “cycle”/”move” mouse icons to be set with _MouseShow.
Version number | 2.0 |
Release status | Final |
Operating systems | Windows 7, Linux, Windows XP, macOS, Windows Vista, Windows 8, Windows 10, Windows 11 |
Website | QB64 |
Download | |
file size |
77.39MB |
License type | GPL |