Portable C and C++ Development Kit for x64 Windows
w64devkit is a Dockerfile that builds from source a small, portable
development suite for creating C and C++ applications on and for x64
Windows. See «Releases» for pre-built, ready-to-use kits.
Included tools:
- Mingw-w64 GCC : compilers, linker, assembler
- GDB : debugger
- GNU Make : standard build tool
- busybox-w32 : standard unix utilities, including sh
- Vim : powerful text editor
- Universal Ctags : source navigation
- NASM : x86 assembler
- Cppcheck : static code analysis
The toolchain includes pthreads, C++11 threads, and OpenMP. All included
runtime components are static. Docker/Podman is not required to use the
development kit. It’s merely a reliable, clean environment for building
the kit itself.
Build
First build the image, then run it to produce a distribution .zip file:
docker build -t w64devkit .
docker run --rm w64devkit >w64devkit.zip
This takes about half an hour on modern systems. You will need an internet
connection during the first few minutes of the build. Note: Do not use
PowerShell because it lacks file redirection.
Usage
The final .zip file contains tools in a typical unix-like configuration.
Unzip the contents anywhere. Inside is w64devkit.exe
, which launches a
console window with the environment configured and ready to go. It is the
easiest way to enter the development environment, and requires no system
changes. It also sets two extra environment variables: W64DEVKIT_HOME
to
the installation root and W64DEVKIT
to the version.
Alternatively, add the bin/
directory to your path. For example, inside
a cmd.exe
console or batch script:
set PATH=c:\path\to\w64devkit\bin;%PATH%
Then to start an interactive unix shell:
Main features
-
No installation required. Run it anywhere as any user. Simply delete
when no longer needed. -
Fully offline. No internet access is ever required or attempted.
-
A focus on static linking all runtime components. The runtime is
optimized for size. -
Trivial to build from source, meaning it’s easy to tweak and adjust any
part of the kit for your own requirements. -
Complements Go for cgo and
bootstrapping.
Optimized for size
The language runtimes in w64devkit are optimized for size, so it produces
particularly small binaries when programs are also optimized for size
(-Os
) during compilation. If your program only uses the printf
family
of functions with MSVC-compatible directives (i.e. limited to C89), and
you want even smaller binaries, you can avoid embedding the Mingw-w64’s
improved implementation by setting __USE_MINGW_ANSI_STDIO
to 0 before
including any headers.
$ cc -Os -D__USE_MINGW_ANSI_STDIO=0 ...
Fortran support
Only C and C++ are included by default, but w64devkit also has full
support for Fortran. To build a Fortran compiler, add fortran
to the
--enable-languages
lines in the Dockerfile.
Recommended downloadable, offline documentation
With a few exceptions, such as Vim’s built-in documentation (:help
),
w64devkit does not include documentation. However, you need not forgo
offline documentation alongside your offline development tools. This is a
list of recommended, no-cost, downloadable documentation complementing
w64devkit’s capabilities. In rough order of importance:
-
cppreference (HTML), friendly documentation for the C and C++
standard libraries. -
GCC manuals (PDF, HTML), to reference GCC features,
especially built-ins, intrinsics, and command line switches. -
Win32 Help File (CHM) is old, but official, Windows API
documentation. Unfortunately much is missing, such as Winsock. (Offline
Windows documentation has always been very hard to come by.) -
C and C++ Standards (drafts) (PDF), for figuring out how
corner cases are intended to work. -
Intel Intrinsics Guide (interactive HTML), a great resource
when working with SIMD intrinsics. (Search for «Download» on the left.) -
GNU Make manual (PDF, HTML)
-
GNU Binutils manuals (PDF, HTML), particularly
ld
andas
. -
GDB manual (PDF)
-
BusyBox man pages (TXT), though everything here is also
available via-h
option inside w64devkit. -
NASM manual (PDF)
-
Intel Software Developer Manuals (PDF), for referencing x86
instructions, when either studying compiler output withobjdump
, or
writing assembly withnasm
oras
.
Library installation
Except for the standard libraries and Win32 import libraries, w64devkit
does not include libraries, but you can install additional libraries such
that the toolchain can find them naturally. There are three options:
-
Install it under the sysroot at
w64devkit/$ARCH/
. The easiest option,
but will require re-installation after upgrading w64devkit. If it
defines.pc
files, thepkg-config
command will automatically find
and use them. -
Append its installation directory to your
CPATH
andLIBRARY_PATH
environment variables. Use;
to delimit directories. You would likely
do this in your.profile
. -
If it exists, append its
pkgconfig
directory to thePKG_CONFIG_PATH
environment variable, then use thepkg-config
command as usual. Use
;
to delimit directories
Both (1) and (3) are designed to work correctly even if w64devkit or the
libraries have paths containing spaces.
Cppcheck tips
Use --library=windows
for programs calling the Win32 API directly, which
adds additional checks. In general, the following configuration is a good
default for programs developed using w64devkit:
$ cppcheck --quiet -j$(nproc) --library=windows \
--suppress=uninitvar --enable=portability,performance .
A «strict» check that is more thorough, but more false positives:
$ cppcheck --quiet -j$(nproc) --library=windows \
--enable=portability,performance,style \
--suppress=uninitvar --suppress=unusedStructMember \
--suppress=constVariable --suppress=shadowVariable \
--suppress=variableScope --suppress=constParameter \
--suppress=shadowArgument --suppress=knownConditionTrueFalse .
Notes
$HOME
can be set through the adjacent w64devkit.ini
configuration, and
may even be relative to the w64devkit/
directory. This is useful for
encapsulating the entire development environment, with home directory, on
removable, even read-only, media. Use a .profile
in the home directory
to configure the environment further.
I’d love to include Git, but unfortunately Git’s build system doesn’t
quite support cross-compilation. A decent alternative would be
Quilt, but it’s written in Bash and Perl.
Neither Address Sanitizer (ASan) nor Thread Sanitizer (TSan) has been
ported to Mingw-w64 (also), but Undefined Behavior Sanitizer
(UBSan) works perfectly under GDB. With both -fsanitize=undefined
and
-fsanitize-trap
, GDB will break precisely on undefined
behavior, and it does not require linking with libsanitizer.
The kit includes a unique debugbreak
command. It causes
all debugee processes to break in the debugger, like using Windows’ F12
debugger hotkey. This is especially useful for console subsystem programs.
Since the build environment is so stable and predicable, it would be
great for the .zip to be reproducible, i.e. builds by different people
are bit-for-bit identical. There are multiple reasons why this is not
currently the case, the least of which are timestamps in the .zip
file.
Licenses
When distributing binaries built using w64devkit, your .exe will include
parts of this distribution. For the GCC runtime, including OpenMP, you’re
covered by the GCC Runtime Library Exception so you do not need to
do anything. However the Mingw-w64 runtime has the usual software license
headaches and you may need to comply with various BSD-style licenses
depending on the functionality used by your program: MinGW-w64 runtime
licensing and winpthreads license. To make this easy,
w64devkit includes the concatenated set of all licenses in the file
COPYING.MinGW-w64-runtime.txt
, which should be distributed with your
binaries.
SPCC is a lightweight, portable C compiler and a Virtual Machine.
We created ARMATURE Fabric™ to make it easier for organizations to manage and monitor the impact of their governance, risk, and compliance programs. For some customers this means streamlining their data collection methods and processes. For others, it means moving them from paper, email, and spreadsheets, to an automated system. In some cases, it helps customers reduce the number of software applications they are using to conduct their risk and compliance activities.
User Reviews
Be the first to post a review of Small Portable C Compiler!
Embarcadero Dev-C++
A fast, portable, simple, and free C/C++ IDE. Dev C++ has been downloaded over 67,796,885 times since 2000.
Embarcadero Dev-C++ is a new and improved fork (sponsored by Embarcadero) of Bloodshed Dev-C++ and Orwell Dev-C++. It is a full-featured Integrated Development Environment (IDE) and code editor for the C/C++ programming language. It uses Mingw port of GCC (GNU Compiler Collection) as its compiler. Embarcadero Dev-C++ can also be used in combination with Cygwin or any other GCC based compiler. Embarcadero Dev-C++ is built using the latest version of Embarcadero Delphi. Embarcadero Dev-C++ has a low memory footprint because it is a native Windows application and does not use Electron.
Download the latest release: https://github.com/Embarcadero/Dev-Cpp/releases
Main Features include:
- TDM-GCC 9.2.0 32/64bit
- Support GCC-based compilers
- Integrated debugging (using GDB)
- GPROF profiling
- Project Manager
- Customizable syntax highlighting editor
- Class Browser
- Code Completion
- Code Insight
- Function listing
- AStyle code formatting support
- GPROF Profiling support
- Quickly create Windows, console, static libraries and DLLs
- Support of templates for creating your own project types
- Makefile creation
- Edit and compile Resource files
- Tool Manager
- Devpak IDE extensions
- Print support
- Find and replace facilities
- CVS support
Supported Operating System:
- Windows 7
- Windows 8.1
- Windows 10
Dev C++ Release Notes
Version 6.3 — 30 January 2021
- Added: Parallel compilation enabled by default for release builds through MAKE Jobs.
- Added: 3 Buttons for setting up custom shell command line tabs.
- Updated: Code completion and menues for dark themes.
- Updated: CTRL-TAB editor tab selection wrapping.
- Fixed: Make clean file deletion issue.
- Fixed: Status bar not showing all text.
- Fixed: Debug/CPU Window hex column issue.
- Fixed: Closing tabs in editor side by side view.
Version 6.2 — 13 November 2020
- Added: 5 new UI styles. Windows 10 Black Pearl, Glossy, Calypso, Flat UI Light, Material Patterns Blue
- Added: Default encoding for new documents option.
- Added: New setting to enable and disable font ligature support.
- Updated: Welcome screen hotkey backgrounds.
- Updated: Allow multiple instances of Dev-C++ to run simaltaniously.
- Fixed: Error on AStyle Formatting Config Form
- Fixed: Double clicking text now selects the current line.
- Fixed: Auto Indent to {} and : now works correctly.
- Fixed: CTRL-Y will not delete the current line if there is nothing left to redo.
- Fixed: Buggy behaviour when highlighting matching braces.
Version 6.1 — 2 November 2020
- Updated: C++ keyword highlighting. Added some C++20 keywords.
- Updated: Font ligature support.
- Updated: SVGIconImageList dependency
- Updated: SynEdit dependency.
- Updated: Text file loading and saving dialogs with Encodings.
- Added: Visual Studio Dark theme.
- Fixed: Automatic Tab widths.
- Fixed: Launching help from directory with spaces.
- Fixed: Welcome screen issue when canceling closing.
- Fixed: Shortcuts Form dark styling.
- Fixed: Crash in Issue #26.
Screenshot:
Bundled Compiler
tdm-gcc: GCC compiler, Windows-friendly. https://jmeubank.github.io/tdm-gcc/
Third Party Libraries
«Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C++/CLI, Objective‑C, C# and Java programming languages.» http://astyle.sourceforge.net/
«SynEdit is a syntax highlighting edit control, not based on the Windows common controls. SynEdit is compatible with both Delphi and C++ Builder.» https://github.com/TurboPack/SynEdit
«FastMM is a fast replacement memory manager for Embarcadero Delphi applications that scales well across multiple threads and CPU cores.» https://github.com/pleriche/FastMM5
«VCL Styles Utils is a Delphi library which extend the RAD Studio VCL Styles.» https://github.com/RRUZ/vcl-styles-utils
«DDetours is a library allowing you to hook Delphi and Windows API functions.» https://github.com/MahdiSafsafi/DDetours
«Components to simplify use of SVG images (resize, fixedcolor, grayscale…). » https://github.com/EtheaDev/SVGIconImageList
«Abbrevia is a compression toolkit for Delphi and C++Builder.» https://github.com/TurboPack/Abbrevia
«Monokai Theme» https://github.com/rbardini/devcpp-monokai
«Monokai Fresh Theme» https://github.com/sspathare97/devcpp-monokai_fresh
Original Dev-C++ Developers
Find out more about the original developers of Bloodshed Dev-C++:
https://www.bloodshed.net/devcpp.html
Built In Delphi
Find out more information about Embarcadero Delphi:
https://www.embarcadero.com/products/delphi
Portable C and C++ Development Kit for x64 Windows
w64devkit is a Dockerfile that builds from source a small, portable development suite for writing C and C++ applications on and for x64 Windows. Docker is not needed to use the tools themselves. It’s merely used as reliable, clean environment for compilation and linking. Included tools:
- Mingw-w64 GCC : compilers, linker, assembler
- GDB : debugger
- GNU Make : standard build tool
- busybox-w32 : standard unix utilities, including sh
- Vim : powerful text editor
- Universal Ctags : source navigation
- NASM : x86 assembler
The compilers support pthreads, C++11 threads, and OpenMP. All included libraries are static.
Build
First build the image, then run it to produce a distribution .zip file:
docker build -t w64devkit .
docker run --rm w64devkit >w64devkit.zip
This takes about half an hour on modern systems. You will need an internet connection during the first couple minutes of the build.
Usage
The final .zip file contains tools in a typical unix-like configuration. Unzip the contents anywhere and add its bin/
directory to your path. For example, while inside a console or batch script:
set PATH=c:\path\to\w64devkit\bin;%PATH%
Then to access a small unix environment:
busybox sh -l
This will expose the rest of busybox’s commands without further action. However, the unix environment will not be available to other tools such as make
without «installing» BusyBox into the bin/
directory:
busybox --install
The distribution contains activate.bat
that launches a console window with the path pre-configured and ready to go. It’s an easy way to enter the development environment.
Notes
Due to an old GCC bug, we must build a cross-compiler to cross-compile GCC itself because, due to host contamination, GCC can only be correctly and safely cross-compiled by a matching version.
Since the development kit is intended to be flexible, light, and portable — i.e. run from anywhere, in place, and no installation is necessary — the binaries are all optimized for size, not speed.
I’d love to include Git, but unfortunately Git’s build system is a disaster and doesn’t support cross-compilation. It’s also got weird dependencies like Perl. Git may be a fantastic and wonderful tool, but it’s also kind of a mess.
It would be nice to have a better shell like Bash. BusyBox’s ash is limited, and the Windows port is even more limited and quite quirky. Unfortunately Bash’s build system is a total mess and does not support cross-compilation.
Emacs does not support cross-compilation, particularly due to its fragile dumper. There has been a «portable dumper» in the works for years that, once stable, may eventually resolve this issue. Even then, the parts of the build system that target Windows needlessly assumes a very specific environment (msys), and much of Emacs’ source very brittle. Besides all that, Emacs is huge and including it would triple the size of the distribution. So Emacs will not be included.
What about sanitizer support? That would be fantastic, but unfortunately libsanitizer has not yet been ported from MSVC to Mingw-w64 (also).
Since the build environment is so stable and predicable, it would be great for the .zip to be reproducible, i.e. builds by different people are bit-for-bit identical. There are multiple reasons why this is not currently the case, the least of which are timestamps in the .zip file.
License Crap
When distributing binaries built using w64devkit, your .exe will include parts of this distribution. For the GCC runtime, including OpenMP, you’re covered by the GCC Runtime Library Exception so you do not need to worry about those. However the Mingw-w64 runtime has the usual software license crap and you might need to comply with various BSD-style licenses depending on the functionality used by your program: MinGW-w64 runtime licensing and winpthreads license. To make this easy, w64devkit includes the complete set of licenses in the file COPYING.MinGW-w64-runtime.txt
, which should be distributed with your binaries.
Contents
- 1 Best Free Portable Ides Compilers For C With No Additional
- 2 Best Free Portable Ides Compilers For C With No Additional Requirements [english]
- 2.1 Conclusion
- 2.1.1 Related image with best free portable ides compilers for c with no additional
- 2.1.2 Related image with best free portable ides compilers for c with no additional
- 2.1 Conclusion
Welcome to our blog, a haven of knowledge and inspiration where Best Free Portable Ides Compilers For C With No Additional takes center stage. We believe that Best Free Portable Ides Compilers For C With No Additional is more than just a topic—it’s a catalyst for growth, innovation, and transformation. Through our meticulously crafted articles, in-depth analysis, and thought-provoking discussions, we aim to provide you with a comprehensive understanding of Best Free Portable Ides Compilers For C With No Additional and its profound impact on the world around us. Runs open and be work windows configure- install it compiler- quick should at for not in nice completion stl- full highlighting source should to particular on to recognizing would support came it free c compiler- it utf syntax require least make bundled 8 if too 11 it needed use recognize with It much features the a to for code a and be
Best Free Portable Ides Compilers For C With No Additional
Best Free Portable Ides Compilers For C With No Additional
Best free portable ides compilers for c with no additional requirements [english] 1,402 views dec 8, 2020 19 dislike share innovledia 53.2k subscribers in this video, you’ll. Jetbrains clion: better than visual studio, but still heavy and complex to use. apache netbeans: current version (11.0) does not support c c . apple xcode: it is not portable outside of mac. spyder3: nice ide, but really minded for python. visual studio code: too many complex configuration files, unique to vs code.
Best Free C Compiler Vitalkop
Best Free C Compiler Vitalkop
The 9 best ides for c and c programming (that are free) code::blocks – the top ide for c code. dev c (bloodshed dev c) gnat studio – makes debugging easier. codelite ide – a great alternative to paid options. clion (cl) by jetbrains. qtcreator – open source and cross platform. apache netbeans 14. 1 answer. sorted by: 1. compiler mingw gcc. it may be portable, just need to set up environment from batch file. ide (did you mean editor?) far manager with colorer plugin (at least) and conemu for tabs and more. imho, it is the best for developers and of course, far is console applicatipn. 1. eclipse eclipse is indeed a free and open source ide written in java and developed by ibm. it is well known for its broad community support as it supports nearly thirty programming languages (and the c c version is named eclipse cdt (eclipse c c development tooling). Codelite is an open source, free, cross platform ide, specialized in c, c , rust, python, php and javascript (mainly for backend developers using node.js) programming languages which runs best on all major platforms ( osx, windows and linux ) codelite is distributed under the terms of the gplv2 license, with an exception for plugins.
4 Best Portable C Compilers Ides As Of 2022 Slant
4 Best Portable C Compilers Ides As Of 2022 Slant
1. eclipse eclipse is indeed a free and open source ide written in java and developed by ibm. it is well known for its broad community support as it supports nearly thirty programming languages (and the c c version is named eclipse cdt (eclipse c c development tooling). Codelite is an open source, free, cross platform ide, specialized in c, c , rust, python, php and javascript (mainly for backend developers using node.js) programming languages which runs best on all major platforms ( osx, windows and linux ) codelite is distributed under the terms of the gplv2 license, with an exception for plugins. What are the best portable c compilers ides? 5 options considered 29 user recs. sep 24, 2023 last updated here’s the deal ad 5 options considered see full list code::blocks my rec ommendation for code::blocks my recommendation for code::blocks add video or image all 5 pros 2 cons 2 specs top pro ••• cross platform. It should be quick to install and configure. in particular, it should not require too much work to make it recognize a compiler. it would be nice if it came bundled with a compiler. needed features: full support for utf 8; runs on windows; open source and free to use; syntax highlighting (recognizing c 11) code completion (at least for the stl).
Best Free Portable Ides Compilers For C With No Additional Requirements [english]
Best Free Portable Ides Compilers For C With No Additional Requirements [english]
in this video, you’ll learn about two of the best free portable ides for programming in c and c . download code::blocks portable these are the undeniable rankings for the best code editors for programming. let me know if you want a part 2 prepping for explore our free courses with completion certificates: if you find this video useful like, share the video with your friends, and subscribe to my channel for more such videos. thank you! if you are wondering which ide to use for your c and c development, this video is for you. jetbrains clion is an advanced ide subscribe for more videos disclaimer: ** for educational purposes ** c is general purpose, object oriented programming language. it is a well known programming language that almost every best ide. it depends on what? so all of the ids have their advantages and disadvantages. there’s not one single ide that’s that hi guys long time no see. in this video i showed two methods for running c cpp code one is how to run c code online and the topide #topeditorforcplusplus #topplatformforcpp 🛠️ top 8 ide for c c 2021 guys in this video, we will answer the hello everyone! today in this video i am going to step by step guide you how to install codeblocks ide for c and c shorts are you worried about placements internships? want to prepare for companies like microsoft, amazon & google?
Conclusion
All things considered, it is evident that post provides helpful information about Best Free Portable Ides Compilers For C With No Additional. Throughout the article, the author presents a deep understanding on the topic. Especially, the section on Z stands out as a highlight. Thank you for taking the time to this article. If you need further information, feel free to reach out via social media. I look forward to hearing from you. Additionally, below are a few related content that you may find interesting: