This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
|
This page is intended to list all current compilers, compiler generators, interpreters, translators, tool foundations, assemblers, automatable command line interfaces (shells), etc.
Compiler | Author | Windows | Unix-like | Other OSs | License type |
---|---|---|---|---|---|
PTC ObjectAda | PTC, Inc. | Yes | Yes | Yes | Proprietary |
GCC GNAT | GNU Project | Yes | Yes | Yes | GPLv3+ |
GNAT LLVM | AdaCore | Yes | Yes | Yes | GPLv3+ |
GreenHills Ada Optimizing Compiler | Green Hills Software | Yes | Yes | No | Proprietary |
PTC ApexAda | PTC, Inc. | No | Yes | Yes | Proprietary |
SCORE Ada | DDC-I | Yes | Yes | Yes | Proprietary |
Symbolics Ada | Symbolics | No | No | Symbolics Genera | Proprietary |
Tandem Ada [1] | Tandem Computers | No | Yes | Guardian, NonStop Kernel | Proprietary |
Compiler | Author | Windows | Unix-like | Other OSs | License type |
---|---|---|---|---|---|
ALGOL 60 | RHA (Minisystems) Ltd | No | No | DOS, CP/M | Free for personal use |
ALGOL 60 (Whetstone) | Randell and Russell | No | No | KDF9 | Unknown |
ALGOL 60 (Kidsgrove) | Hawkins and Huxtable | No | No | KDF9 | Unknown |
Persistent S-algol | Paul Cockshott | Yes | No | DOS | Copyright only |
MCP | Burroughs | No | No | MCP | Proprietary |
Algol 60 | Claude Pair [2] | No | No | IBM 1620 | ? |
Algol 60 | Jean-Claude Boussard [3] | No | No | IBM 7090 | ? |
cf. ALGOL 68s specification and implementation timeline
Name | Year | Purpose | State | Description | Target CPU | Licensing | Implementation Language |
---|---|---|---|---|---|---|---|
ALGOL 68 r0 | 1968 | Standard | Intl | IFIP WG 2.1 Final Report | Specification – August | ACM | |
ALGOL 68-R R | 1970 | Military | UK | ICL 1900 | ALGOL 60 | ||
EPOS ALGOL E | 1971 | Scientific | |||||
ALGOL 68RS RS | 1972 | Military | UK | Portable compiler system | ICL 2900/Series 39, Multics, VMS & C generator (1993) | Crown Copyright | ALGOL 68RS |
Mini ALGOL 68 | 1973 | Research | NL | An interpreter for simple Algol 68 programs ["An interpreter for simple Algol 68 Programs" [ http://oai.cwi.nl/oai/asset/9494/9494A.pdf "An interpreter for simple Algol 68 Programs"]].{{cite web}} : Check |url= value (help); Missing or empty |title= (help) | Portable interpreter | Mathematisch Centrum | ALGOL 60 |
ALGOL 68C C | 1975 | Scientific | UK | Cambridge Algol 68 | ICL, IBM 360, PDP 10 & Unix, Telefunken, Tesla & Z80(1980) [4] | Cambridge | ALGOL 68C |
ALGOL 68 Revised Report r1 | 1975 | Standard | Intl | IFIP WG 2.1 Revised Report | Specification | ACM | |
Odra Algol 68 | 1976 | practical uses | USSR/Poland | Odra 1204/IL | Soviet | ALGOL 60 | |
FLACC F | 1977 | Multi-purpose | CA | Revised Report complete implementation with debug features | System/370 | lease, Chion Corporation | Assembler |
Leningrad ALGOL 68 L | 1980 | Telecommunications | USSR | Full Language + Modules | IBM, DEC, CAMCOH, PS 1001 & PC | Soviet | |
Interactive ALGOL 68 I | 1983 | UK | Incremental compilation | PC | Noncommercial shareware | ||
ALGOL 68S S | 1985 | Scientific | Intl | Sun version of ALGOL 68 | Sun-3, Sun SPARC (under SunOS 4.1 & Solaris 2), Atari ST (under GEMDOS), Acorn Archimedes (under RISC OS), VAX-11 under Ultrix-32 | ||
Algol68toC [5] (ctrans) | 1985 | Electronics | UK | ctrans from ELLA ALGOL 68RS | Portable C generator | Open sourced & Public Domained 1995 | ALGOL 68RS |
Algol 68 GenieG | 2001 | Full Language | NL | Includes standard collateral clause | Portable interpreter | GPL | C |
Assembler | Author | Windows | Unix-like | Other OSs | License type |
---|---|---|---|---|---|
FASM | Tomasz Grysztar | Yes | Yes | Yes | BSD |
Turbo Assembler | Borland | Yes | No | No | Proprietary |
A86 assembler | Eric Isaacson | Yes | No | No | Proprietary |
Microsoft Macro Assembler | Microsoft | Yes | No | No | Proprietary |
Netwide Assembler | Simon Tatham and Julian Hall | Yes | Yes | Yes | BSD |
High Level Assembly (HLA) | Randall Hyde | Yes | Yes | Yes | Public domain |
GNU Assembler | The GNU Project | Yes | Yes | Yes | GPLv3 |
Assembler | Author | Windows | Unix-like | Other OSs | License type |
---|---|---|---|---|---|
Assembler | Motorola | Yes | No | No | Proprietary |
Devpac | HiSoft Systems | No | No | Amiga, Atari ST | Proprietary |
GNU Assembler | The GNU Project | Yes | Yes | Yes | GPLv3 |
rmac | James Hammons, George Nakos, Landon Dyer | Yes | Yes | Yes | Freeware |
Assembler | Author | Windows | Unix-like | Other OSs | License type |
---|---|---|---|---|---|
Microsoft MACRO-80 | Microsoft | No | No | Yes | Proprietary |
Zeus Assembler | Neil Mottershead, Simon Brattel | No | No | Yes | Proprietary |
Prometheus | Proxima software | No | No | No | Proprietary |
Assembler | Author | Windows | Unix-like | Other OSs | License type |
---|---|---|---|---|---|
TMS 9900 assembler | Texas Instruments | Yes | Yes | Yes | Proprietary |
GNU Assembler | The GNU Project | Yes | Yes | Yes | GPLv3 |
TAL (Tandem Application Language) | Tandem Computers | No | Yes | Guardian, NonStop Kernel | Proprietary |
pTAL (The Application Language) | Tandem Computers | No | Yes | NonStop Kernel, NonStop OS | Proprietary |
epTAL (The Application Language) | HPE | No | Yes | NonStop OS | Proprietary |
Compiler | Author | Working state | Windows | Unix-like | Other OSs | License type | Standard conformance | |
---|---|---|---|---|---|---|---|---|
Minimal BASIC | Full BASIC | |||||||
AppGameKit | The Game Creators | Current | Yes | Yes | No | Proprietary | ? | ? |
BASIC-PLUS-2 | Digital Equipment Corporation now HPE | Current | No | ? | RSTS/E, RSX-11M, VMS | Proprietary | ? | ? |
B4X | Erel Uziel | Current | Yes | Yes (Android, iOS) | Yes (JVM) | Apache 2.0 | No | No |
BBC BASIC for SDL 2.0 | Richard T. Russell | Current | Yes | Yes (Linux, macOS, Android) | Yes (Raspberry Pi OS) | zlib License | No | No |
BlitzMax | Blitz Research | Discontinued | Yes | Yes (Linux, macOS) | No | zlib License | No | No |
DarkBASIC | The Game Creators | Inactive | Yes | No | No | MIT License | No | No |
ECMA-55 Minimal BASIC compiler [6] | John Gatewood Ham | Current | No | Linux | No | GPLv2 | Yes | No |
FreeBASIC | FreeBASIC Development Team | Current | Yes | Yes | DOS, FreeBSD, Linux | GPLv2+ | Partial [7] | No |
FutureBASIC | Brilor Software | Current | No | macOS | Classic Mac OS | Proprietary | Partial | No |
Gambas | Benoît Minisini | Current | No | Yes | No | GPLv2+ | No | No |
GFA BASIC | Frank Ostrowski | Abandoned | Yes | No | Amiga, Atari ST, DOS | Proprietary | No | No |
Mercury | RemObjects | Current | Yes | Yes (Linux, macOS, Android, iOS) | Yes (WebAssembly) | Proprietary | No | No |
PowerBASIC (formerly Turbo Basic) | PowerBASIC, Inc. | Inactive | Yes | No | DOS | Proprietary | ? | ? |
PureBasic | Fantaisie Software | Current | Yes | Yes | Yes | Proprietary | No | No |
QB64 | Galleon | Current | Yes | Yes | Yes | LGPLv2.1 | Partial | No |
QuickBASIC | Microsoft | Discontinued | No | No | DOS | Proprietary | Partial | No |
Tandem BASIC | Tandem Computers | Historic | No | No | Guardian, NonStop Kernel, NonStop OS | Proprietary | No | No |
True BASIC | True BASIC | Current | Yes | No | No | Proprietary | Yes | Partial [8] |
VSI BASIC for OpenVMS | VMS Software, Inc. | Current | No | No | OpenVMS | Proprietary | No | No |
Xojo (formerly REALbasic) | Xojo Inc. (formerly Real Software) | Current | Yes | Yes | Yes | Proprietary | No | No |
Compiler | Author | Microsoft Windows | Unix-like | Other OSs | Bare machine | License type | Standard conformance | |||
---|---|---|---|---|---|---|---|---|---|---|
C89 | C99 | C11 | C17 | |||||||
Acorn C/C++ | Acorn and Codemist | No | No | RISC OS | ? | Proprietary | Yes | Yes | No | Yes |
AMD Optimizing C/C++ Compiler (AOCC) | AMD | No | Yes | No | ? | Proprietary | Yes | Yes | Yes | Yes |
Aztec C | Manx Software Systems | No | No | CP/M, CP/M-86, DOS, Classic Mac OS | ? | Proprietary | ? | ? | ? | ? |
Amsterdam Compiler Kit | Andrew Tanenbaum and Ceriel Jacobs | No | Yes | Yes | ? | BSD | ? | ? | ? | ? |
BDS C | BD Software | No | No | CP/M | ? | Public domain | ? | ? | ? | ? |
C++Builder | Embarcadero | Yes | Yes (iOS, Android) | No | ? | Proprietary | Yes | Yes | Partial | ? |
Ch | SoftIntegration, Inc | Yes | macOS, FreeBSD, Linux, Solaris, HP-UX, AIX, QNX | Yes | ? | Freeware | Yes | Yes | No | ? |
Clang | LLVM Project | Yes | Yes | Yes | ? | UoI/NCSA | Yes | Yes | Yes | Yes |
CompCert | INRIA | Yes | Yes | No | ? | Freeware (source code available for non-commercial use) or GPL | Yes | Partial | No | ? |
Digital Mars | Digital Mars | Yes | No | No | ? | Proprietary | ? | ? | ? | ? |
Digital Research C [9] | Digital Research | ? | ? | CP/M, DOS | ? | Proprietary | ? | ? | ? | ? |
Edison Design Group | Edison Design Group | Yes | Yes | Yes | ? | Proprietary | Yes | Yes | Yes | Yes |
GCC C | GNU Project | MinGW, Cygwin, WSL | Yes | IBM mainframe, AmigaOS, VMS, RTEMS, DOS [10] | Yes | GPL | Yes | Partial [i] | Partial [i] | Partial [i] |
IAR C/C++ Compilers | IAR Systems | Yes | {{yes [note 1] }} | No | ? | Proprietary | Yes | Yes | Yes | Yes |
Intel oneAPI DPC++/C++ Compiler (icx) | Intel | Yes | Linux | No | ? | Freeware (optional priority support) | Yes | Yes | Yes [11] | Yes |
Intel C++ Compiler Classic (icc) | Intel | Yes | Linux, macOS | No | ? | Freeware (optional priority support) | Yes | Partial [12] | Partial [12] | ? |
Interactive C | KISS Institute for Practical Robotics | Yes | Unix, macOS, Linux, IRIX, Solaris, SunOS | No | ? | Freeware | Partial | No | No | ? |
keil C/C++ Compilers | Keil (company) | Yes | Yes | No | ? | Proprietary | ? | ? | ? | ? |
Lattice C | Lifeboat Associates | No | Yes | DOS, OS/2, Commodore, Amiga, Atari ST, Sinclair QL | ? | Proprietary | ? | ? | ? | ? |
lcc | Chris Fraser and David Hanson | Yes | Yes | Yes | ? | Freeware (source code available for non-commercial use) | Yes | No | No | ? |
Mark Williams C | Mark Williams Company | Yes | Coherent | Yes | ? | Proprietary - Coherent Compiler 3-clause BSD[ clarification needed ] | ? | ? | ? | ? |
MCP | Unisys | No | No | MCP | ? | Proprietary | ? | ? | ? | ? |
MikroC Compiler | Mikroelektronika | Yes | Yes | Yes | ? | Proprietary | ? | ? | ? | ? |
MPW C | Apple | No | No | Classic Mac OS | ? | Proprietary | ? | ? | ? | ? |
Open64 | AMD, SGI, Google, HP, Intel, Nvidia, PathScale, Tsinghua University and others | No | Yes | Yes | ? | GPL | ? | ? | ? | ? |
Pacific C | Hi-tech software | No | No | DOS | ? | Freeware [13] | ? | ? | ? | ? |
Pelles C | Pelle Orinius | Yes | No | No | ? | Freeware | No | Yes | Yes | Yes |
Personal C Compiler (PCC) | DeSmet | No | No | DOS | ? | GPL [14] | Yes [ii] | No | No | No |
PGCC | The Portland Group | Yes | Yes | Unknown | ? | Proprietary | ? | ? | ? | ? |
Portable C Compiler | Stephen C. Johnson, Anders Magnusson and others | Yes | Yes | Yes | ? | BSD | Yes | Partial | No | ? |
QuickC | Microsoft | Yes | No | No | ? | Proprietary | ? | ? | ? | ? |
Ritchie C Compiler (PDP-11) | Dennis Ritchie and John Reiser; converted to cross-compiler by Doug Gwyn | Yes | Yes | Yes | ? | Freeware | Partial | Partial | Partial | Partial |
SAS/C | SAS Institute | Yes | Yes | Yes IBM mainframe, AmigaOS, 68K, 88K | ? | Proprietary | ? | ? | ? | ? |
Alan Snyder's Portable C Compiler | Alan Snyder and current Maintainer larsbrinkhoff|Snyder-C-compiler | No | Yes | No | ? | MIT License | ? | ? | ? | ? |
The SubC Compiler | Nils M Holm|SubC | No | Yes | No | ? | Public Domain | ? | ? | ? | ? |
SCORE C (tcc) | DDC-I | Yes | Yes | Yes | ? | Proprietary | ? | ? | ? | ? |
SEGGER Compiler [15] | SEGGER Microcontroller | Yes | Yes | Yes | ? | Proprietary | Yes | Yes | Partial | Partial |
Small-C | Ron Caine, James E. Hendrix, Byte magazine | Yes | Yes | CP/M, DOS | ? | Public domain | Partial | No | No | ? |
Small Device C Compiler | Sandeep Dutta and others | Yes | Yes | Unknown | Yes | GPL | ? | ? | ? | ? |
Symbolics C | Symbolics | No | No | Symbolics Genera | ? | Proprietary | ? | No | No | No |
Tandem C [16] | Tandem Computers | No | Yes | Guardian, NonStop Kernel, NonStop OS | No | Proprietary | ? | ? | No | No |
Tasking | Altium | Yes | Linux, MacOS | No | ? | Proprietary | ? | ? | ? | ? |
THINK C, Lightspeed C | THINK Technologies | No | No | Classic Mac OS | ? | Proprietary | ? | ? | ? | ? |
Tiny C Compiler | Fabrice Bellard | Yes | Yes | No | ? | LGPL | Yes | Partial | Partial | ? |
(Borland) Turbo C | Embarcadero | Yes | No | Yes | ? | Proprietary - V 2.01 freely available | ? | ? | ? | ? |
VBCC | Volker Barthelmann | Yes | Yes | Yes | ? | Freeware (source code available, modification not allowed) | Yes | Partial | No | ? |
Microsoft Visual C++ | Microsoft | Yes | No | No | ? | Proprietary (Freeware) | Yes | No [17] | Partial [iii] | Yes [iii] |
Oracle C compiler | Oracle | No | Solaris, Linux | No | ? | Proprietary (Freeware) | Yes | Yes | Yes | No |
Watcom C/C++, Open Watcom C/C++ | Watcom | Yes | experimental | DOS, OS/2 | ? | Sybase Open Watcom Public License | Yes | Partial | No | ? |
Wind River (Diab) Compiler | Wind River Systems | Yes | Yes | Yes | ? | Proprietary | ? | ? | ? | ? |
XL C, XL C/C++ | IBM | No | AIX, Linux | z/OS, z/VM | ? | Proprietary | Yes | Yes | Partial | ? |
Zig cc | Zig Software Foundation | Yes | Yes | Yes | ? | MIT License | ? | ? | ? | ? |
Notes:
Compiler | Author | Operating System [i] | License type | IDE | Standard conformance | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Windows | Unix-like | Other | C++11 | C++14 | C++17 | C++20 | C++23 | ||||
AMD Optimizing C/C++ Compiler (AOCC) | AMD | No | Yes | No | Proprietary (Freeware) | No | Yes | Yes | Yes | Partial | Partial |
C++Builder (classic Borland, bcc*) | Embarcadero (CodeGear) | Yes (bcc32) | macOS (bccosx) [18] | No | Proprietary (Free Community Edition) [19] | Yes | Yes [20] [21] | No | No | ? | ? |
C++Builder (modern, bcc*c) | Embarcadero (LLVM) [22] | Yes (bcc32c,bcc64, bcc32x,bcc64x) | ⟨iOS⟩ (bccios*), ⟨Android⟩ (bcca*) [18] | No | Proprietary (Freeware - 32bit CLI, [23] Free Limited Commercial Edition) [19] | Yes | Yes [ii] [20] [21] | Yes [24] | Yes [25] | ? | ? |
Turbo C++ (tcc) | Borland (CodeGear) | Yes | No | DOS | Freeware | Yes | No | No | No | ? | ? |
CINT | CERN | Yes | Yes | BeBox, DOS, etc. | X11/MIT | Yes | No | No | No | ? | ? |
Cfront | Bjarne Stroustrup | No | Yes | No | ? | No | No | No | No | ? | ? |
Clang (clang++) | LLVM Project | Yes | Yes | Yes | UoI/NCSA | Xcode, QtCreator (optional) | Yes [ii] [26] [27] [21] | Yes | Yes | Partial | Partial |
Comeau C/C++ | Comeau Computing | Yes | Yes | Yes | Proprietary | No | No [iii] | No | No | ? | ? |
Cray C/C++ (CC) | Cray | No | No | No | Proprietary | No | Yes [iv] [28] [29] | Yes [iv] | Yes | Partial | No |
Digital Mars C/C++ (dmc) | Digital Mars | Yes | No | DOS | Proprietary | No | Partial [30] [21] | No | No | ? | ? |
EDG C++ Front End (eccp, edgcpfe) | Edison Design Group | Yes | Yes | Yes | Proprietary | No | Yes [iii] [31] [21] | Yes | Yes | Partial | Partial |
EKOPath (pathCC) | PathScale and others | No | Yes | Yes | Mixed (Proprietary, Open–source & GPL) | No | Yes [v] [32] | Partial | No | ? | ? |
GCC (g++) | GNU Project | MinGW, MSYS2, Cygwin, Windows Subsystem | Yes | Yes | GPLv3 | QtCreator, Kdevelop, Eclipse, NetBeans, Code::Blocks, Dev-C++, Geany | Yes [v] [33] [34] [21] | Yes | Yes | Partial | Partial |
HP aC++ (aCC) | Hewlett-Packard | No | HP-UX | No | Proprietary | No | Partial [35] [21] | No | No | ? | ? |
IAR C/C++ Compilers (icc*) | IAR Systems | Yes | No | ⟨Yes⟩ | Proprietary | IAR Embedded Workbench | Yes [36] | Yes | Partial | ? | ? |
Intel C++ Compiler (icc) | Intel | Yes | Linux, macOS, FreeBSD; ⟨Android (x86)⟩ | No | Proprietary (Freeware) [37] | Visual Studio, Eclipse, Xcode | Yes [iii] [38] [21] | Yes [39] | Yes [40] | Partial | Partial |
KAI C++ (KCC) | Kuck & Associates, Inc. ⟨subsumed by Intel⟩ | No | TOPS-20, Digital Unix, HP-UX, Linux (x86), IRIX 5.3 & 6.x, Solaris 2.x, UNICOS | No | Proprietary | No | No [iii] [41] | No | No | ? | ? |
Microtec C/C++ (mcc) | Mentor ⟨Siemens⟩ | Yes | Yes | Yes | Proprietary | EDGE Developer Suite | No | No | No | ? | ? |
EDGE C/C++ [vi] | Mentor ⟨Siemens⟩ | Yes | Yes | Yes | Proprietary | EDGE Developer Suite | No | No | No | ? | |
Open64 (openCC) | HP, AMD, Tsinghua University and others | No | Yes | No | Modified GPLv2 | No | No [v] [vii] [42] | No | No | ? | ? |
PGC++ (pgc++) | PGI ⟨Nvidia⟩ | Unsupported [43] | Linux, macOS | No | Proprietary | Eclipse, Xcode, Visual Studio | Yes [iii] [44] [21] | Yes | Partial | ? | ? |
ProDev WorkShop | Silicon Graphics | No | IRIX 5.3 & 6.x | Yes | Proprietary | Yes | ? | ? | ? | ? | ? |
RealView Compilation Tools (armcc) | Keil ⟨Arm⟩ | Yes | Yes | ⟨Yes⟩ | Proprietary | RealView Development Suite | No [iii] [45] | No | No | ? | ? |
Arm Compiler (armcc) | Keil ⟨Arm⟩ | Yes | Yes | ⟨Yes⟩ | Proprietary | μVision, DS-5 | Yes [iii] [46] [47] | No | No | ? | ? |
Arm Compiler (armclang) | Keil ⟨Arm⟩ (LLVM) | Yes | No | ⟨Yes⟩ | Proprietary | μVision, DS-5 | Yes [ii] [48] [49] | Yes | No | ? | ? |
Salford C++ Compiler | Silverfrost | Yes | No | No | Proprietary | Yes | ? | ? | ? | ? | ? |
SAS/C C++ | SAS Institute | Windows NT/95 | AIX, Solaris/SunOS, Linux | IBM mainframe, DOS | Proprietary | No | ? | ? | ? | ? | ? |
SCORE C++ (tpp) | DDC-I | Yes | Yes | Yes | Proprietary | Yes | Yes | No | No | ? | ? |
SEGGER Compiler | SEGGER Microcontroller | Yes | Yes | Yes | Proprietary | Yes | Yes | Partial | Partial | ? | ? |
Oracle C++ Compiler (CC) | Oracle | No | Linux, Solaris | No | Proprietary (Freeware) | Oracle Developer Studio, NetBeans | Yes [50] [51] [21] | Yes | No | ? | ? |
Tandem C++ [52] | Tandem Computers | No | Yes | NonStop Kernel, NonStop OS | Proprietary | Eclipse | ? | No | No | ? | |
TenDRA (tcc) | TenDRA Project | No | Yes | No | BSD | No | No [53] | No | No | ? | ? |
VectorC | Codeplay | Yes | No | ⟨PS2⟩, ⟨PS3⟩, etc. | Proprietary | Visual Studio, CodeWarrior | Partial [54] | No | No | ? | ? |
Visual C++ (cl) | Microsoft | Yes | Linux, macOS; ⟨Android⟩, ⟨iOS⟩ | DOS | Proprietary (Free for Individuals and Enterprise under $1M Profit Cap) [55] | Visual Studio, QtCreator | Yes [56] [57] [21] | Yes | Yes [58] | Yes [59] | Partial |
XL C/C++ (xlc++) | IBM | No | Linux (Power), AIX | z/OS, z/VM | Proprietary | Eclipse | Yes [60] [61] [62] [63] | Yes | No | No | No |
Diab Compiler (dcc) | Wind River ⟨TPG Capital⟩ | Yes | Linux, Solaris | ⟨VxWorks⟩ | Proprietary | Wind River Workbench | No [iii] [64] | No | No | ? | ? |
Notes:
Compiler | Author | Type | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|---|
Visual C# | Microsoft | JIT | Yes | iOS | No | Proprietary | Yes |
Visual C# Express | Microsoft | JIT | Yes | No | No | Freeware | Yes |
Mono | Xamarin | JIT | Yes | Yes | Yes | GPLv2 | Yes |
Portable.NET | DotGNU | AOT | Yes | Yes | No | GPL | No |
SharpDevelop | IC#Code Team. | JIT | Yes | No | No | LGPL | Yes |
Roslyn | .NET Foundation | JIT/AOT | Yes | Partial | No | Apache 2.0 [65] | No |
RemObjects C# | RemObjects | AOT | Yes | Yes (Linux, macOS, Android, iOS) | Yes (WebAssembly) | Proprietary | Yes |
IL2CPP | Unity Technologies | AOT | Yes | Yes | Yes | Proprietary | No |
IL2CPU | COSMOS | AOT | Yes | Yes | Yes | BSD licenses [66] | No |
Bartok | Microsoft Research | AOT | Yes | No | No | Proprietary | No |
RyuJIT | .NET Foundation. | JIT | Yes | Yes | Yes | MIT License [67] | Yes |
CoreRT | .NET Foundation. | AOT/JIT | Yes | Yes | Yes | MIT License [68] | Yes |
bflat [69] | Michal Strehovský | AOT | Yes | Yes | Yes | GPL [70] | No |
Compiler | Author | Operating system | License type | IDE? | Standard conformance | |||
---|---|---|---|---|---|---|---|---|
Windows | Unix-like | Other | COBOL-85 | COBOL 2002 | ||||
IBM COBOL | IBM | Yes | AIX, Linux | z/OS, z/VM, z/VSE | Proprietary | IBM Developer for z/OS | Yes | Partial |
NetCOBOL | Fujitsu, GTSoftware | Yes | Yes | No | Proprietary | Yes | Yes | Partial |
GnuCOBOL (formerly OpenCOBOL) | Keisuke Nishida, Roger While, Simon Sobisch | Yes | Yes | Yes | GPL | OpenCobolIDE, GIX, HackEdit | Yes | Partial |
gcobol [71] | COBOLworx | Yes | Yes | Yes | GPL | No | Yes [72] | Planned [72] |
Otterkit [73] [74] | Gabriel Gonçalves | Yes | Yes | Yes (Common Language Infrastructure) | Apache 2.0 | Yes | Partial | Release candidate |
Visual COBOL | Micro Focus | Yes | Yes | Yes | Proprietary | Yes | Yes | No |
isCOBOL Evolve | Veryant | Yes | Yes | Yes | Proprietary | Eclipse | Yes | Partial |
HP COBOL | Hewlett-Packard | No | No | OpenVMS | Proprietary | NetBeans | Yes | No |
MCP | Unisys | No | No | MCP | Proprietary | CANDE | Yes [75] | No |
Tandem COBOL [76] [16] | Tandem Computers | No | No | Guardian, NonStop Kernel, NonStop OS | Proprietary | Eclipse, Micro Focus COBOL Workbench [77] | ? | ? |
PDP-11 COBOL | Digital Equipment Corporation | No | No | RSTS/E, RSX-11M | Proprietary | ? | No | No |
COBOL-85 | Digital Equipment Corporation | No | No | RSTS/E, RSX-11M, VMS | Proprietary | ? | ? | ? |
Austec Cobol | Esmond & David Pitt and Derek Trusler, Austec International Inc. | No | Yes | Yes | Proprietary | No | Partial | Partial |
Compiler | Author | Target | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|---|
Allegro Common Lisp | Franz, Inc. | Native code | Yes | Yes | Yes | Proprietary | Yes |
Armed Bear Common Lisp | Peter Graves | JVM | Yes | Yes | Yes | GPL | Yes |
CLISP | GNU Project | Bytecode | Yes | Yes | Yes | GPL | No |
Clozure CL | Clozure Associates | Native code | Yes | Yes | No | LGPL | Yes |
CMU Common Lisp | Carnegie Mellon University | Native code, Bytecode | No | Yes | No | Public domain | Yes |
Corman Common Lisp | Corman Technologies | Native code | Yes | No | No | MIT license | Yes |
Embeddable Common Lisp | Juanjo Garcia-Ripoll | Bytecode, C | Yes | Yes | Yes | LGPL | Yes |
GNU Common Lisp | GNU Project | C | Yes | Yes | No | GPL | No |
LispWorks | LispWorks Ltd | Native code | Yes | Yes | No | Proprietary | Yes |
mocl | Wukix | Native code | No | Yes | Yes | Proprietary | No |
Movitz | Frode V. Fjeld | Native code, own OS | No | No | Yes | BSD | No |
Open Genera | Symbolics | Ivory emulator, own OS | No | No | Yes | Proprietary | Yes |
Scieneer Common Lisp | Scieneer Pty Ltd | Native code | No | Yes | No | Proprietary | No |
Steel Bank Common Lisp | sbcl.org | Native code | Yes | Yes | Yes | Public domain | Yes |
Compiler | Author | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|
D (DMD) | Digital Mars and others | Yes | 32-bit Linux, macOS, FreeBSD | No | Boost | No |
D for .NET | ? | Yes | Yes | ? | ? | ? |
GDC | GCC | Yes | Yes | No | GPL | No |
LDC | LLVM | Yes | Yes | No | multiple Open Source license depending on module | No |
Compiler | Author | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|
DIBOL | Digital Equipment Corporation | No | No | RSTS/E, VMS | Proprietary | No |
Synergy DBL [78] [79] [80] | Synergex | Yes | Yes | Yes | Proprietary | Yes |
Compiler | Author | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|
EiffelStudio | Eiffel Software / Community developed (SourceForge) | Yes | Yes | Yes | GPL | Yes |
LibertyEiffel (fork of SmartEiffel) | D. Colnet and community | ? | Yes | ? | GPLv2 | ? |
SmartEiffel | D. Colnet | ? | Yes | ? | GPLv2 | ? |
Compiler | Author | Windows | Unix-like | Other OSs | License type |
---|---|---|---|---|---|
Win32Forth [81] | Andrew McKewan, Tom Zimmer, et. al. | Yes | No | No | public domain |
VFX Forth [82] [83] | MPE | Yes | Yes | Yes | ? |
SwiftForth [84] | Forth Inc. | Yes | Yes | No | Proprietary |
SP-Forth | Andrey Cherezov | Yes | Yes | ? | GPL3 |
Retro Forth [85] | Charles Childers | Yes | Yes | ? | ISC license |
pForth | Phil Burk | Yes | Yes | Yes | public domain |
Open Firmware | ? | ? | ? | ? | BSD license |
iForth [86] | Marcel Hendrix | Yes | Yes | No | Proprietary |
Gforth | Bernd Paysan and Anton Ertl | Yes | Yes | No | GPL3 |
colorForth | Charles H. Moore | ? | ? | ? | public domain |
ciforth [87] [88] [89] | Albert van der Horst | Yes | Yes | No | GPL |
Atlast [90] | John Walker | ? | Yes | No | public domain |
Collapse OS [91] | Virgil Dupras | No | Yes | Yes | ? |
FreeForth [92] | ? | Yes | Yes (Linux) | ? | public domain |
ByteForth [93] | ? | ? | ? | ? | ? |
noForth [94] | ? | ? | ? | RISC-V baremetal | ? |
Compiler | Author | Working state | Operating system | License type | IDE? | ||
---|---|---|---|---|---|---|---|
Windows | Unix-like | Other | |||||
AMD Optimizing C/C++ Compiler (AOCC) | AMD | Current | No | Yes | No | Freeware | No |
PDP-11 FORTRAN IV | Digital Equipment Corporation | Discontinued | No | No | Yes | Proprietary | No |
PDP-11 FORTRAN-IV-Plus | Digital Equipment Corporation | Discontinued | No | No | Yes | Proprietary | No |
Fortran 77 | Digital Equipment Corporation | Discontinued | No | ? | RSTS/E, VMS | Proprietary | ? |
Fortran H (equivalent to Fortran IV) | IBM | Discontinued | No | No | Yes | Proprietary | No |
Oracle Fortran | Oracle | Discontinued | No | Linux, Solaris | No | Freeware | Oracle Developer Studio |
PGFORTRAN | The Portland Group | Discontinued | Yes | Linux only | Yes | Proprietary | Visual Studio on Windows |
PathScale Compiler Suite | SiCortex | Discontinued | No | Linux only | No | Proprietary | Yes |
Absoft Pro Fortran | Absoft | Discontinued | Yes | Linux, macOS | Yes | Proprietary | Yes |
G95 | Andy Vaught | Inactive | Yes | Yes | Yes | GPL | No |
VS/9 Fortran IV | Unisys | Discontinued | No | No | Yes | Proprietary | No |
GNU Fortran | GNU Project | Current | Yes | Yes | Yes | GPLv3 | Photran (part of Eclipse), Simply Fortran, Lahey Fortran |
Intel Fortran Compiler Classic (ifort) | Intel | Current | Yes | Linux and macOS | No | Freeware, optional priority support | Yes (plugins), Visual Studio on Windows, Eclipse on Linux, XCode on Mac |
Intel Fortran Compiler (beta) (ifx) | Intel | Current | Yes | Linux | No | Freeware, optional priority support | Yes (plugins), Visual Studio on Windows, Eclipse on Linux |
Open64 | Google, HP, Intel, Nvidia, PathScale, Tsinghua University and others | Finished | No | Yes | Yes | GPL | No |
Classic Flang | LLVM Project | Current | Yes | Yes | Yes | NCSA | Yes |
LLVM Flang | LLVM Project | Current | Yes | Yes | Yes | NCSA | Yes |
FTN95 | Silverfrost | Current | Yes | No | No | Proprietary | Yes |
NAG Fortran Compiler | Numerical Algorithms Group | ? | Yes | Yes | No | Proprietary | Yes |
Tandem Fortran [16] | Tandem Computers | Discontinued | No | ? | Guardian, NonStop Kernel, NonStop OS | Proprietary | No |
VS Fortran | IBM | Current | No | No | z/OS, z/VSE and z/VM | Proprietary | Eclipse |
XL Fortran | IBM | Current | No | Linux (Power and AIX | No | Proprietary | Eclipse |
sxf90 / sxmpif90 | NEC | ? | No | Yes | SUPER-UX | Proprietary | Yes |
MCP | Unisys | Discontinued | No | No | MCP | Proprietary | CANDE |
Open Watcom | Sybase and Open Watcom Contributors | Current | Yes | Yes | DOS, OS/2 | Sybase Open Watcom Public License | on Windows, OS/2 |
Symbolics Fortran | Symbolics | Discontinued | No | No | Symbolics Genera | Proprietary | Yes |
Cray | Cray | Current | Yes | Yes | Yes | Proprietary | Yes |
Compiler | Working state | Operating system | License type | ||
---|---|---|---|---|---|
Windows | Unix-like | Other | |||
Gc | Current | Yes | Yes | Yes | BSD 3-Clause |
Gccgo | Current | MinGW, Cygwin | Yes | Yes | GPL |
RemObjects Gold | Current | Yes | Linux, macOS, Android, iOS | Yes (WebAssembly) | Proprietary |
llgo | Dropped [95] | No | Yes | No | NCSA |
Gopherjs | Current | Yes | Yes | Yes | BSD 2-Clause |
Compiler | Author | Windows | Unix-like | Other OSs | License type | Actively maintained? |
---|---|---|---|---|---|---|
HBC | Lennart Augustsson Thomas Johnsson | ? | Yes | No | Open source | No |
GHC | GHC | Yes | Yes | No | Open source | Yes |
YHC | YHC | Yes | Yes | No | Open source | No |
JHC | John Meacham | Yes | Yes | No | Open source | Yes |
Name | Author | Working state | Target | Written in | Operating system | License type | Standard conformance | ||
---|---|---|---|---|---|---|---|---|---|
Windows | Unix-like | Other | |||||||
Easy-ISLisp [96] | Kenichi Sasagawa | Current | C, bytecode | C, Lisp | No | Linux, macOS, OpenBSD | No | BSD 2-Clause | Yes |
OpenLisp | Eligis | Current | C, bytecode | C, Lisp | Yes | macOS, Linux, BSD, AIX, Solaris, QNX | ? | Proprietary | Yes |
dayLISP [97] | Matthew Denson | Inactive | Java bytecode | Java, Lisp | Yes | Yes | Yes (JVM) | BSD 3-Clause | Partial |
Iris [98] | Masaya Taniguchi [99] | Inactive | Bytecode | Go | Yes | Yes | Yes | MPL 2.0 | Yes |
Iris web REPL [100] | Masaya Taniguchi [101] | Inactive | JavaScript | Go, JavaScript | Yes | Yes | Yes | MPL 2.0 | Yes |
Kiss [102] | Yuji Minejima | Inactive | Bytecode | C, Lisp | Yes | Yes | ? | GPLv3+ | Partial |
OKI ISLISP [103] | Kyoto University and Oki Electric Industry Co. | Finished | Bytecode | C | Yes | No | No | Freeware | Yes |
PRIME-LISP | Mikhail Semenov | Discontinued | Bytecode | C# | Yes | No | No | Shareware, freely redistributable binaries | No |
ISLisproid | Hiroshi Gomi | Discontinued | Bytecode | Java | No | Android | No | Proprietary | ? |
Compiler | Author | Working state | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|---|
Edison Design Group | Edison Design Group | Discontinued | Yes | Yes | Yes | Proprietary | No |
gcj | GNU Project | Inactive | No | Yes | No | GPL | No |
javac | Sun Microsystems (Owned by Oracle) | Current | Yes | Yes | Yes | BCL | Yes |
javac OpenJDK | Sun Microsystems (Owned by Oracle) | Current | Yes | Yes | Yes | GPLv2 | Yes |
ECJ (Eclipse Compiler for Java) | Eclipse project | ? | Yes | Yes | Yes | EPL | Yes |
Jikes | IBM | Inactive | ? | Yes | ? | IPL | ? |
Power J [104] | Sybase (Owned by SAP) | Discontinued | Yes | ? | ? | ? | Yes |
Iodine | RemObjects | Current | Yes | Yes (Linux, macOS, Android, iOS) | Yes (WebAssembly) | Proprietary | Yes |
Compiler | Author | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|
Lisaac | Benoit Sonntag, et al. | Yes | Yes | Yes | GPL3 | ? |
Interpreter | Author | Windows | Unix-like | Other OSs | License type |
---|---|---|---|---|---|
ActivePerl interpreter | ActiveState | Yes | Yes | Yes | Noncommercial or Proprietary |
Perl interpreter | Wall/Perl developers | Yes | Yes | Yes | Artistic or GPL v1 |
Compiler | Author | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|
Phalanger | Devsense | Yes | No | Partial | Apache 2.0 | Yes |
PeachPie | iolevel | Yes | Yes | Yes | Apache 2.0 | Yes |
Compiler | Author | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|
IBM Enterprise PL/I for z/OS | IBM | No | No | z/OS | Proprietary | No |
IBM PL/I for AIX | IBM | No | AIX | No | Proprietary | No |
IBM PL/I(F) | IBM | No | No | z/OS | Freeware | No |
IBM VisualAge PL/I Enterprise for OS/2 and Windows NT | IBM | Yes | No | OS/2 | Proprietary | No |
Iron Spring PL/I for Linux and OS/2 | Iron Spring Software | No | Linux | OS/2 Warp and EComStation | Proprietary; library source is LGPL | No |
Micro Focus Open PL/I | Micro Focus | Yes | Yes | No | Proprietary | Yes |
Compiler | Author | Target | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|---|
Cython | C | Yes | Yes | Yes | PSFL | No | |
IronPython | CLI | Yes | Yes | Yes (CLI) | Apache 2.0 | No | |
Jython | JVM | Yes | Yes | Yes (JVM) | PSFL | No | |
Nuitka | Kay Hayen | C, C++ | Yes | Yes | Yes | Apache 2.0 | No |
Numba | Anaconda | LLVM (JIT) | Yes | Yes | Yes | BSD 2-Clause | No |
Psyco | Armin Rigo Christian Tismer | x86-32 (JIT) | Yes | Yes | Yes | MIT | No |
Pyjs | JavaScript | Yes | Yes | Yes | Apache 2.0 | ? | |
PyPy | Own VM (JIT) | Yes | Yes | Yes | MIT | No | |
Shed Skin | C++ | Yes | Yes | Yes | GPLv3 and BSD | No | |
Compiler | Author | Target | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|---|
YARV | Koichi Sasada | bytecode | Yes | Yes | Yes | Ruby License | No |
IronRuby | Microsoft | .NET | Yes | Yes | Yes | Apache 2.0 | No |
JRuby | JVM | Yes | Yes | Yes | EPL, GPL, LGPL | No | |
Mruby | Yukihiro Matsumoto | bytecode | Yes | Yes | Yes | MIT | No |
TruffleRuby | Oracle | native, JVM | Yes | Yes | Yes | EPL, GPL | No |
Compiler | Author | Windows | Unix-like | Other OSs | Bare machine | License type |
---|---|---|---|---|---|---|
rustc | Rust Foundation | Yes | Yes | Yes | Yes | Apache License |
GCC Rust [105] | GNU Project | MinGW, Cygwin, WSL | Yes | IBM mainframe, AmigaOS, VMS, RTEMS, DOS | Yes | GPL |
Compiler | Author | Target | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|---|
Bigloo | Manuel Serrano | native, bytecode | Yes | Yes | ? | GPL (compiler) and LGPL (runtime) | No |
Chez Scheme | R. Kent Dybvig | native | Yes | Yes | No | Apache 2.0 | No |
Chicken | The Chicken Team | C | Yes | Yes | ? | BSD | No |
Common Larceny | William Clinger, Lars Hansen | CLI | Yes | Yes | Yes (Common Language Infrastructure) | Larceny License [106] | No |
Gambit | Marc Feeley | C | Yes | Yes | ? | LGPL | No |
GNU Guile | GNU Project | bytecode | Yes | Yes | ? | LGPL | No |
Ikarus | Abdulaziz Ghuloum | native | Yes | Yes | ? | GPL | No |
IronScheme | Llewellyn Pritchard | CLI | Yes | Yes | Yes (Common Language Infrastructure) | Ms-PL | No |
JScheme | Ken Anderson, Tim Hickey, Peter Norvig | bytecode | Yes | Yes | Yes (JVM) | zlib License | No |
Kawa | Per Bothner | bytecode | Yes | Yes | Yes (JVM) | MIT | No |
Larceny | William Clinger, Lars Hansen | native | Yes | Yes | ? | Larceny License [106] | No |
MIT/GNU Scheme | GNU Project | native | Yes | Yes | ? | GPL | No |
Petit Larceny | William Clinger, Lars Hansen | C | ? | Yes | ? | Larceny License [106] | No |
Racket | PLT Inc. | bytecode + JIT | Yes | Yes | No [107] | LGPL | DrRacket |
RScheme | Donovan Kolbly | C, bytecode | ? | Yes | ? | Open source | No |
Scheme 48 | Richard Kelsey, Jonathan Rees | C, bytecode | Yes | Yes | ? | BSD | No |
SCM | Aubrey Jaffer | C | Yes | Yes | AmigaOS, Atari ST, Classic Mac OS, DOS, OS/2, NOS/VE, OpenVMS | LGPL | No |
SISC | Scott G. Miller, Matthias Radestock | bytecode | Yes | Yes | Yes (JVM) | GPL and MPL | No |
Stalin | Jeffrey Mark Siskind | C | ? | Yes | ? | LGPL | No |
STklos | Erick Gallesio | bytecode | ? | Yes | ? | GPL | No |
SXM [108] | Sergei Egorov | bytecode | Yes | Yes | ? | Free for non-commercial use | No |
Interpreter | Author | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|
Gauche | Shiro Kawai | Yes | Yes | ? | BSD | No |
Petite Chez Scheme | R. Kent Dybvig | Yes | Yes | No | Apache 2.0 | No |
TinyScheme | ? | ? | ? | Yes | BSD | No |
Compiler | Author | Target | Windows | Unix-like | Other OSs | License type | IDE? |
---|---|---|---|---|---|---|---|
Pharo | Pharo Team | VM | Yes | Yes | Yes | MIT License | Yes |
GNU Smalltalk | GNU Smalltalk project | bytecode + JIT | Yes | Yes | No | GPL | No |
VisualWorks | Cincom Systems | ? | Yes | Yes | Yes | Proprietary | Yes |
Smalltalk MT | ObjectConnect | native | Yes | No | No | Proprietary | Yes |
Interpreter | Author | Windows | Unix-like | Other OSs | License type |
---|---|---|---|---|---|
ActiveTcl | ActiveState | Yes | Yes | Yes | Noncommercial or Proprietary |
Tclsh | MKS and many others | Yes | Yes | Yes | Proprietary and/or free |
Wish | MKS and many others | Yes | Yes | Yes | Proprietary and/or free |
Interpreter | Author | Windows | Unix-like | Other OSs | License type |
---|---|---|---|---|---|
DCL (Digital Control Language) | Digital | No | No | OpenVMS, RSX-11M, RSTS/E | Proprietary |
TACL (The Application Control Language) | Tandem Computers | No | No | Guardian, NonStop Kernel, NonStop OS | Proprietary |
Interpreter | Author | Windows | Unix-like | Other OSs | License type |
---|---|---|---|---|---|
Amiga ARexx | Commodore | No | No | Yes | Proprietary |
ObjectRexx | IBM | Yes | ? | Yes | Proprietary |
Open Object Rexx | OO Organisation | Yes | No | No | CPL |
Regina Rexx | No | Yes | ? | GPL |
Compiler | Author | Working state | Operating system | License type | IDE? | ||
---|---|---|---|---|---|---|---|
Windows | Unix-like | Other OSs | |||||
Visual Studio | Microsoft | Current | Yes | No | No | Proprietary | Yes |
Mono | Mono | Current | Yes | Yes | No | MIT | Yes |
Delphi Prism | RemObjects | Current | Yes | Yes | Yes | Proprietary | Yes |
Portable.NET | DotGNU | Inactive | Yes | Yes | No | GPL | Unknown |
This list is incomplete. A more extensive list of source-to-source compilers can be found here.
Compiler | Author | Target Input | Target Output | Auto-Parallelizer | Windows | Unix-like | Other OSs | License type | Framework? |
---|---|---|---|---|---|---|---|---|---|
DMS Software Reengineering Toolkit | Semantic Designs | C/C++, COBOL, PL/I, many others | Arbitrary languages | No | Yes | Yes | Yes | Proprietary | Yes |
EDG Front End | Edison Design Group | C/C++, Java, Fortran | C | No | Yes | Yes | Yes | Proprietary | Yes |
ROSE | Lawrence Livermore National Laboratory | C, Fortran, and more | C/C++, Fortran, and more | Yes | No | Yes | Yes | BSD | Yes |
PIPS Parallélisation interprocédurale de programmes scientifiques | Mines ParisTech | C, Fortran | C, Fortran | Yes | No | Yes | Yes | GPL | Yes |
Production quality, free/libre and open source compilers.
Research compilers are mostly not robust or complete enough to handle real, large applications. They are used mostly for fast prototyping new language features and new optimizations in research areas.
MINIX is a Unix-like operating system based on a microkernel architecture. Since version 2.0, it has been POSIX compliant.
Single instruction, multiple data (SIMD) is a type of parallel processing in Flynn's taxonomy. SIMD can be internal and it can be directly accessible through an instruction set architecture (ISA), but it should not be confused with an ISA. SIMD describes computers with multiple processing elements that perform the same operation on multiple data points simultaneously.
Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, tvOS, and visionOS. It was initially released in late 2003; the latest stable release is version 16, released on September 16, 2024, and is available free of charge via the Mac App Store and the Apple Developer website. Registered developers can also download preview releases and prior versions of the suite through the Apple Developer website. Xcode includes command-line tools that enable UNIX-style development via the Terminal app in macOS. They can also be downloaded and installed without the GUI.
OpenMP is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating systems, including Solaris, AIX, FreeBSD, HP-UX, Linux, macOS, and Windows. It consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior.
Buffer overflow protection is any of various techniques used during software development to enhance the security of executable programs by detecting buffer overflows on stack-allocated variables, and preventing them from causing program misbehavior or from becoming serious security vulnerabilities. A stack buffer overflow occurs when a program writes to a memory address on the program's call stack outside of the intended data structure, which is usually a fixed-length buffer. Stack buffer overflow bugs are caused when a program writes more data to a buffer located on the stack than what is actually allocated for that buffer. This almost always results in corruption of adjacent data on the stack, which could lead to program crashes, incorrect operation, or security issues.
LLVM is a set of compiler and toolchain technologies that can be used to develop a frontend for any programming language and a backend for any instruction set architecture. LLVM is designed around a language-independent intermediate representation (IR) that serves as a portable, high-level assembly language that can be optimized with a variety of transformations over multiple passes. The name LLVM originally stood for Low Level Virtual Machine, though the project has expanded and the name is no longer officially an initialism.
Open64 is a free, open-source, optimizing compiler for the Itanium and x86-64 microprocessor architectures. It derives from the SGI compilers for the MIPS R10000 processor, called MIPSPro. It was initially released in 2000 as GNU GPL software under the name Pro64. The following year, University of Delaware adopted the project and renamed the compiler to Open64. It now mostly serves as a research platform for compiler and computer architecture research groups. Open64 supports Fortran 77/95 and C/C++, as well as the shared memory programming model OpenMP. It can conduct high-quality interprocedural analysis, data-flow analysis, data dependence analysis, and array region analysis. Development has ceased, although other projects can use the project's source.
Code::Blocks is a free, open-source, cross-platform IDE that supports multiple compilers including GCC, Clang and Visual C++. It is developed in C++ using wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities and features are defined by the provided plugins. Currently, Code::Blocks is oriented towards C, C++, and Fortran. It has a custom build system and optional Make support.
In computer programming, a precompiled header (PCH) is a header file that is compiled into an intermediate form that is faster to process for the compiler. Usage of precompiled headers may significantly reduce compilation time, especially when applied to large header files, header files that include many other header files, or header files that are included in many translation units.
In the C and C++ programming languages, #pragma once
is a non-standard but widely supported preprocessor directive designed to cause the current header file to be included only once in a single compilation. Thus, #pragma once
serves the same purpose as #include guards, but with several advantages, including less code, avoidance of name clashes, and sometimes improvement in compilation speed. While #pragma once
is available in most modern compilers, its implementation is tricky and might not always be reliable.
In C and related programming languages, long double
refers to a floating-point data type that is often more precise than double precision though the language standard only requires it to be at least as precise as double
. As with C's other floating-point types, it may not necessarily map to an IEEE format.
The following tables list notable software packages that are nominal IDEs; standalone tools such as source-code editors and GUI builders are not included. These IDEs are listed in alphabetic order of the supported language.
This article describes the calling conventions used when programming x86 architecture microprocessors.
JUCE is an open-source cross-platform C++ application framework, used for the development of desktop and mobile applications. JUCE is used in particular for its GUI and plug-ins libraries. It is dual licensed under the GPLv3 and a commercial license.
Clang is a compiler front end for the programming languages C, C++, Objective-C, Objective-C++, and the software frameworks OpenMP, OpenCL, RenderScript, CUDA, SYCL, and HIP. It acts as a drop-in replacement for the GNU Compiler Collection (GCC), supporting most of its compiling flags and unofficial language extensions. It includes a static analyzer, and several code analysis tools.
OpenCL is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators. OpenCL specifies a programming language for programming these devices and application programming interfaces (APIs) to control the platform and execute programs on the compute devices. OpenCL provides a standard interface for parallel computing using task- and data-based parallelism.
XL C/C++ is the name of IBM's proprietary optimizing C/C++ compilers for IBM-supported environments.
Mingw-w64 is a free and open-source suite of development tools that generate Portable Executable (PE) binaries for Microsoft Windows. It was forked in 2005–2010 from MinGW.
{{cite thesis}}
: CS1 maint: location (link){{cite web}}
: CS1 maint: numeric names: authors list (link)Embarcadero's free C++Builder Community Edition is designed for freelance developers, startups and nonprofits with revenues under $5000 USD and allows them to easily design, code, debug, and deploy applications for iOS, Android, Windows and macOS from a single codebase with professional and integrated tools.
a. Individual License. If you are an individual working on your own applications, either to sell or for any other purpose, you may use the software to develop and test those applications.