GNU/Linux >> Znalost Linux >  >> Linux

25 nejlepších linuxových kompilátorů pro moderní vývojáře

Překladače hrají důležitou roli ve vývoji moderního softwaru a systémů. Jsou to počítačové programy, které transformují zdrojové kódy na binární spustitelné soubory. Když píšete program pomocí vysokoúrovňového jazyka, jako je C nebo Pascal, potřebujete kompilátor, aby interpretoval váš kód a přeměnil jej na strojově čitelný binární soubor. Obvykle se o to postarají moderní Linuxová IDE pomocí vestavěných frontendů kompilátoru. Na druhou stranu mnoho systémových programátorů, jako jsem já, píše svůj kód pomocí jednoduchého editoru a kompiluje program pomocí příslušných linuxových kompilátorů. Protože Linux nabízí nepřeberné množství působivých kompilátorů, připravili jsme tohoto průvodce, který vám pomůže vybrat ten nejlepší pro vaše potřeby.

Výkonné kompilátory Linuxu

Kompilátory se používají k přeměně programů napsaných v kompilovaném jazyce na spustitelné soubory. Interpretované jazyky jako Python a Perl od nás nevyžadují kompilaci kódu, protože programy napsané v těchto jazycích jsou spouštěny v samostatném runtime. Kompilované jazyky však nabízejí výjimečný výkon, a proto se používají k vytváření pokročilých aplikací, jako jsou vaše oblíbené distribuce Linuxu.

1. GCC

GNU Compiler Collection neboli GCC je bezpochyby nejvýkonnějším kompilátorem. Je základním kamenem open-source GNU platformy a byl tak či onak použit k sestavení téměř každého moderního stroje. GCC nabízí sadu kompilátorů pro standardní kompilované jazyky, včetně C, C++, Objective C, Ada, Pascal, Fortran a mnoha dalších. Většina linuxových distribucí by měla mít standardně nainstalován GCC. Podporuje jak ANSI C, tak variantu K&R. Pokud jste začínající programátor, zůstaňte u GCC.

Funkce GCC

  • GCC je známá svou přenositelností a dokáže vytvářet spustitelné soubory pro širokou škálu platforem, včetně většiny vestavěných zařízení založených na ARM.
  • Implementuje robustní techniky optimalizace doby připojení pro urychlení binárního výstupu významným faktorem.
  • GCC je extrémně rozšiřitelné a umožňuje vývojářům používat vlastní pluginy pro přidávání novějších funkcí podle požadavků projektu.
  • Je napsán v jazyce C++ a poskytuje podporu pro rychlý výčet, metody protokolů, křížovou kompilaci, rozšíření tříd atd.

2. AOCC

AOCC nebo AMD Optimizing C/C++ Compiler je bezplatný, ale působivý optimalizační kompilátor pro 32bitové a 64bitové platformy Linux AMD. Je to specializovaný kompilátor, který umožňuje vývojářům využít maximální výkon z jejich nejnovějších CPU. Jedná se o jeden z nejlepších linuxových kompilátorů pro vývojáře her díky široké škále možností optimalizace. AOCC je navíc projekt s otevřeným zdrojovým kódem. Vývojáři si tedy mohou zdroj prohlédnout, aby lépe porozuměli základnímu fungování.

Funkce AOCC

  • AMD Optimizing C/C++ Compiler je speciálně vyladěn pro rodinu procesorů AMD 17h a poskytuje lepší optimalizaci pro AMD EPYC řady 7xx2.
  • Tento kompilátor je napsán pomocí jazyka Fortran a je testován na Ubuntu 18.04, Ubuntu 19.04 a Red Hat Enterprise Linux.
  • Poskytuje binární instalace pro Debian i systémy založené na RPM a také umožňuje instalaci ze zdroje.
  • Toto je nejlepší optimalizační kompilátor pro uživatele Linuxu, kteří vlastní moderní mikroprocesory založené na AMD Ryzen.

3. Kompilátor Intel C++

Intel C++ Compiler je extrémně výkonný proprietární kompilátor, který bez problémů běží v Linuxu a dalších strojích založených na Unixu. Je to v podstatě sada kompilátorů se schopností vytvářet vysoce výkonné spustitelné soubory pomocí pokročilých technik a optimalizací hardwaru. Tento moderní kompilátor, známý také jako icc, je zaměřen na profesionály pracující v oblasti výpočetní techniky s vysokou dostupností a vývoje her. Vývojáři mohou rychle psát kód, který využívá výhod dodatečných jader dostupných v prostředí Linuxu na bázi Intelu.

Funkce kompilátoru Intel C++

  • Intel C++ Compiler lze snadno integrovat s tradičními IDE, včetně Eclipse, Visual Studio, Xcode a Android Studio.
  • Vývojáři mohou výrazně optimalizovat programy napsané pro různé rodiny Intel, jako jsou mikroprocesory Intel Core, Atom a Xeon.
  • Intel C++ Compiler poskytuje výjimečnou podporu pro paralelizaci SIMD pomocí nástrojů, jako je knihovna šablon SIMD Data Layout Template.
  • Tento kompilátor Linuxu podporuje programovací modely OpenMP, vylepšení lambda, vestavěné aplikace a Intel® VTune™ Profiler.

4. LLVM

Nízkoúrovňový virtuální stroj neboli LLVM je soubor technologií kompilátoru, který nabízí výkonné knihovny a nástroje pro vytváření kompilátorů a optimalizátorů. Je to sofistikovaný projekt, který byl používán mnoha moderními kompilátory, jako je AMD Optimizing C/C++ Compiler. Jednoduchý princip návrhu LLVM usnadňuje jeho pochopení pro začátečníky a zároveň poskytuje nástroje potřebné pro vytváření pokročilých vývojových nástrojů. LLVM navíc nabízí vynikající podporu pro širokou škálu architektur, včetně X86, X86-64, ARM, MIPS a PowerPC.

Funkce LLVM

  • Poskytuje velmi stabilní online a offline reprezentace kódu spolu se čtečkami a zapisovači pro sestavení a bytekód.
  • Projekt LLVM Clang umožňuje působivá rozhraní pro C, C++, Fortran a Objective C založená na analyzátorech GCC 4.2.
  • LLVM nabízí výkonné kompilace Just in Time (JIT) spolu s backendem založeným na C pro vytváření nativních kódů specifických pro cíl.
  • Nabízí také vynikající profilovací systém pro optimalizaci, testovací rámec, model celoživotní kompilace a robustní nástroje pro ladění pro Linux.

5. Netwide Assembler

Netwide Assembler neboli NASM je extrémně výkonný assembler a disassembler pro počítače Intel x86. Běží na všech hlavních distribucích Linuxu a také na Windows a Mac OS. NASM je široce považován za nejlepší linuxový assembler díky své bohaté sadě funkcí a snadnému použití. Aktivně se udržuje a používá se v mnoha oblastech. Pokud hledáte nejlepší assembler pro váš systém x86 Linux, doporučujeme vám použít NASM.

Funkce Netwide Assembler

  • Lze jej použít pro sestavení výstupů v několika formátech, jako jsou ELF, Mach-O, a.out, COFF, OMF a další binární soubory.
  • Bezplatná a open-source licence BSD 2-klauzule tohoto assembleru umožňuje NASM extrémně snadno upravovat nebo přizpůsobovat.
  • NASM lze použít k přesměrování programů na téměř jakýkoli systém x86 díky široké škále výstupních formátů.
  • Umí generovat automatické přepisy segmentů, vytvářet ploché binární soubory, zapisovat obrazy ROM a zavaděče Linuxu.

6. GFortran

GFortran nebo GNU Fortran je plnohodnotný frontend kompilátoru Fortran založený na GCC. Jedná se o projekt FOSS, který nabízí nepřeberné množství robustních funkcí, včetně skvělých funkcí ladění a podpory starších kódových základen. GFortran je kompatibilní s Fortran 95 a zároveň nabízí většinu funkcí Fortran 2003 a Fortran 2008. Navíc open-source povaha tohoto projektu povzbuzuje vývojáře, aby sami rozšiřovali kód kompilátoru. Takže se podívejte na GFortran, pokud s Fortranem pracujete na osobních projektech nebo na údržbě starších podnikových produktů.

Funkce GFortran

  • GFortran je vyvinut jako náhrada historického kompilátoru g77 Fortran a zajišťuje úspěšnou kompilaci veškerého staršího kódu g77.
  • Je známý svou přiměřenou rychlostí kompilace a schopností kompilovat kódy vyvinuté pro jiný počítač.
  • GFortran poskytuje bezproblémovou přesnost kompilace a udržuje praktický systém linuxových lístků pro opravu nebo popis chyb.
  • Tento kompilátor Fortranu je velmi dobře udržovaný a poměrně často zavádí novější funkce a také opravy chyb.

7. GHC

GHC nebo Glasgow Haskell Compiler je bezplatný, ale výkonný kompilátor nativního kódu pro programovací jazyk Haskell. Je k dispozici na všech počítačích X86, X86-64 a ARM a podporuje Linux vedle tradičních unixových systémů. Haskell je působivý funkcionální programovací jazyk, který díky své pokročilé sadě funkcí získává obrovskou dynamiku. GHC je jedním z nejlepších kompilátorů Linuxu pro programátory Haskell a nabízí vše potřebné pro budování moderních výzkumných a průmyslových projektů.

Funkce GHC

  • GHC implementuje multiplatformní systém, který umožňuje vývojářům psát a testovat programy Haskell impozantním způsobem.
  • Tento kompilátor Haskell podporuje rozsáhlý seznam knihoven, rozšíření a optimalizačních technik pro urychlení rozsáhlých aplikací.
  • GHC dokáže generovat rychlejší kódy pro souběžné programy a podporuje různé techniky paralelizace, jako je Software Transactional Memory (STM).
  • Je velmi přenosný a lze jej použít pro generování kódu C jako přechodný cíl pro jinou platformu.

8. Malý kompilátor C

Tiny C Compiler je malý, ale extrémně účinný C kompilátor vyvinutý Fabricem Bellardem. Je vytvořen pro starší hardware s různými omezeními zdrojů. Tiny C Compiler je napsán pomocí kombinace C a assembleru, což snižuje celkovou paměťovou náročnost kompilátoru a činí z něj ideální volbu pro malé, vestavěné platformy. Jedná se o multiplatformní kompilátor, který bez problémů běží v operačních systémech Linux, BSD a Windows. Tento kompilátor doporučujeme vývojářům pracujícím na projektech, které mají omezené zdroje CPU.

Funkce Tiny C Compiler

  • Tiny C Compiler podporuje všechny funkce ANSI C (C89/C90) a také většinu standardu C99 ISO spolu s tradičními rozšířeními GNU.
  • Je velmi lehký, přibližně 100 kB a lze jej provozovat v systémech, které mají pouze 1,44 MB volného místa v paměti.
  • Pohodlný přepínač příkazového řádku umožňuje vývojářům spouštět programy automaticky při kompilaci a v rámci skriptů prostředí Linux.
  • Tiny C Compiler lze spustit na zařízeních X86, X86-64 a ARM a kompiluje se téměř devětkrát rychleji než GCC.

9. Pascal kompilátor zdarma

Free Pascal Compiler neboli FPC je jednoduchý a efektivní kompilátor pro Pascal a Object Pascal. Podporuje všechny hlavní operační systémy a také 16, 32 a 64bitové stroje. FPC je software s otevřeným zdrojovým kódem, takže vývojáři mohou zdroj zobrazit a bez problémů provádět úpravy. To pomáhá programátorům psát optimalizovanější kódy a zkrátit dobu běhu starších aplikací. Free Pascal Compiler je navíc jedním z nejlepších linuxových kompilátorů pro programování emulátorů retro her, jako jsou Nintendo NDS a Game Boy Advance.

Funkce kompilátoru Free Pascal

  • Free Pascal Compiler využívá přístup „zapiš jednou, zkompiluj kdekoli“, což umožňuje vývojářům psát flexibilnější kódy.
  • Integrované vývojové prostředí (IDE) Lazarus poskytuje tomuto kompilátoru Pascalu vynikající grafické rozhraní.
  • Umí úspěšně generovat bitové kódy LLVM pro několik platforem, včetně x86-64, AArch64 a ARMHF.
  • Oficiální webová stránka poskytuje vynikající dokumentaci, která začátečníkům pomůže začít s Free Pascal Compiler.

10. Babela

Babel je přesvědčivý, moderní kompilátor pro JavaScript. Jedná se o funkčně bohatý kompilátor používaný k transpilaci kódu ECMAScript 2015+ do starší, ale zpětně kompatibilní verze JavaScriptu. To je často vyžadováno pro přidávání nových funkcí do existující aplikace JavaScript. To zajistí, že váš nový kód bude efektivně fungovat i na starších runtimech. Babel dokáže transformovat zdrojový kód a syntaxi, polyfill chybějící funkce, dokonce i převod JSX syntaxe. Navíc se jedná o open-source projekt. Vývojáři tak mohou snadno získat zdroj a rozšířit jej podle potřeby.

Funkce Babel

  • Babel je vyvíjen pomocí modulárního designu založeného na pluginech, což vývojářům JavaScriptu velmi usnadňuje přizpůsobení.
  • Vhodná podpora zdrojové mapy tohoto transpileru usnadňuje ladění chyb v kompilovaných programech.
  • Babel přichází s vlastním běhovým prostředím regenerátoru pro vytváření polyfill kódů pro zahrnutí chybějících funkcí.
  • Nabízí vynikající, podrobnou dokumentaci, která vývojářům představuje základní funkce a použití.

11. Clanga

Clang je další výkonný kompilátor pro programovací jazyky ve stylu C. Podporuje také rámce OpenMP, OpenCL, RenderScript a NVIDIA CUDA. Clang je vyvinut pomocí LLVM jako backendu a poskytuje četnou infrastrukturu nástrojů, která zajišťuje programy podnikové kvality. Díky své jednoduché, ale hackovatelné kódové základně, která značně usnadňuje přizpůsobení, zaznamenala strmý nárůst popularity. Clang navíc nabízí výjimečnou diagnostiku spolu s bezproblémovou integrací s moderními editory kódu pro Linux, jako je Atom a Sublime Text.

Funkce Clang

  • Clang je známý pro svou rychlou kompilaci a vynikající výkon ve srovnání s tradičními kompilátory Linuxu.
  • Modulární architektura tohoto projektu založená na zásuvných modulech činí Clang extrémně přizpůsobitelným a vyžaduje omezené zdroje CPU.
  • Dodává se s licencí LLVM-BSD, která je kompatibilní s podnikovými produkty a přitom poskytuje zdroj volně.
  • Nízká paměťová náročnost Clang z něj dělá perfektní volbu pro vytváření programů na strojích s omezenými zdroji.

12. Kompilátor Intel Fortran

Intel Fortran Compiler nebo jednoduše IFORT je rodina extrémně výkonných Fortran kompilátorů pro hardware Intel. Dodává se s mnoha lukrativními sadami funkcí, které velmi usnadňují optimalizaci programu. Většina z těchto Fortran kompilátorů dokáže předběžně zpracovat, zkompilovat, sestavit a propojit Fortran aplikace velmi efektivně na systémech IA-32 i Intel 64. Bez ohledu na to, zda jste výzkumník nebo vývojář, který udržuje starší kódovou základnu, IFORT je určitě jedním z nejlepších kompilátorů Linuxu, které můžete získat.

Funkce kompilátoru Intel Fortran

  • Je to multiplatformní kompilátor Fortranu a nabízí vynikající integraci s tradičními unixovými IDE, jako je Eclipse a Xcode.
  • IFORT je navržen pro využití funkcí vícejádrové architektury, jako je vektorizace SIMD, automatický paralelismus a co-pole.
  • Vyhovující kompilátor této sady podporuje všechny funkce Fortran 66, 77, 90, 95, 2003 a 2008 spolu s mnoha funkcemi pro rok 2018.
  • Většina těchto kompilátorů Fortran může pracovat s Windows API, POSIX, OpenGL, Component Object Model (COM) a GDB.

13. FreeBASIC

BASIC byl populární jazyk své doby známý pro své snadné použití. Mnoho starších aplikací stále používá tento multiparadigmatický programovací jazyk. FreeBASIC je jednoduchý, ale na funkce bohatý kompilátor pro programovací jazyky BASIC a QBasic. Jedná se o open-source projekt, který spadá pod licenci GNU GPL a podporuje všechny hlavní platformy Unix, včetně Linuxu a FreeBSD. Tento kompilátor BASIC se také používá k vývoji programů pro platformy MS-DOS a Xbox. Oficiální podpora pro Xbox však byla ukončena.

Funkce FreeBASIC

  • Tento 32bitový kompilátor BASIC také poskytuje nezbytný assembler, linker, archivátor a jako svůj backend využívá toolchain GNU Binutils.
  • FreeBASIC je samohostující kompilátor a poskytuje mnoho oblíbených knihoven, jako je SDL, OpenGL, GTK a standardní knihovna C.
  • Vývojáři mohou rychle vytvářet grafické programy pomocí DirectX v systému Windows nebo OpenGL v počítačích s Linuxem.
  • FreeBASIC nabízí ve výchozím nastavení pouze příkazové rozhraní, ale lze jej použít v rámci tradičních Linuxových IDE, jako je.

14. Scala Native

Scala Native je jednoduchý, ale extrémně efektivní kompilátor pro funkcionální programovací jazyk Scala. Je to kompilátor AoT (Ahead-of-Time), který dokáže do značné míry optimalizovat váš kód. Scala Native je poměrně moderní kompilátor, který má vestavěnou podporu pro abstrakce vyšší úrovně, kontrolu typu a neměnné datové struktury. To z něj dělá velmi bezpečný kompilátor pro snadný vývoj moderních softwarových řešení. Místo poskytování nativních knihoven Java nebo Scala implementuje Scala Native svou personalizovanou implementaci JDK.

Funkce Scala Native

  • Scala Native nabízí vynikající podporu pro stávající IDE Scala a bezproblémovou integraci se standardními nástroji pro sestavení.
  • Tento kompilátor Scala využívá backend LLVM pro generování přechodných reprezentací, což zvyšuje výkon založený na strojích.
  • Je vytvořena jako infrastruktura pro více publikací proti JVM (Java Virtual Machine), běhovému prostředí JavaScriptu a nativním platformám.
  • Povaha tohoto kompilátoru s otevřeným zdrojovým kódem umožňuje vývojářům rozšiřovat software nebo provádět nezbytné úpravy podle potřeby.

15. CodeChef Online IDE

Online Linux compilers provide a handy way of testing programs without installing language-specific compilers. CodeChef is a popular website that hosts competitive programming contests and provides a compelling online compilation suite. The CodeChef online IDE makes it very easy to test newer technologies from the comfort of your home machine, without even installing the bare minimum. The IDE loads up pretty fast and offers a seamless graphical experience to Linux users. So, we highly suggest you check this online IDE if you like to try newer programming languages.

Features of CodeChef Online IDE

  • The CodeChef Online IDE supports many different runtimes and compilers, including GCC, GHC, Rust, Scala, GFortran, Bash, and so on.
  • Developers can upload existing program codes very easily using the intuitive file upload feature of this online Linux compiler.
  • Most of the compilers of this online suite provide skeleton codes for saving the time of developers and helping new users.
  • Users can configure the graphical experience they’re seeing by changing the fonts, tabs, themes as well as soft wraps.

16. Steel Bank Common Lisp

The Steel Bank Common Lisp or SBCL is a high-performance Linux compiler for the ANSI Common Lisp language. It is an outstanding compiler with features for debugging, optimization, profiling, and many more. If you’re a Lisp developer working with resource-intensive enterprise applications, SBCL is certainly a feasible choice for you. This Lisp compiler is available on all major platforms that support Linux, such as x86, AMD64, and ARM-based machines. PC users can also run this compiler in most BSD systems.

Features of Steel Bank Common Lisp

  • SBCL provides both the runtime and compiler for the ANSI Common Lisp dialect and is a direct fork of the Carnegie Mellon University Common Lisp.
  • This is an entirely open-source project with a permissive license that enables further modification of the compiler without any hassle.
  • SBCL offers excellent debugging features, which make it easy to track down bugs in your code and optimize programs.
  • The official documentation provides an in-depth knowledge of this Lisp compiler and available functionalities.

17. Portable C Compiler

The PCC or Portable C Compiler is an old-school C compiler for Unix-like operating systems. It was developed in the Bell Labs and aimed to solve common portability issues present in many Linux compilers of that generation. The PCC can be thought of like an extended version of the Kernighan and Ritchie C compiler. Portable C Compiler is known for its blazing fast speed, which is roughly 5-10 times faster than GCC. You can try out this compiler if you’re working on legacy programs.

Features of Portable C Compiler

  • PCC is a simple but lightweight C compiler for Linux that runs effectively on older, legacy hardware.
  • It provides excellent support for Minix, recursive macro-expansions, optimized MIPS instructions, and so on.
  • The open-source BSD license featured by this C compiler is attractive to both open source enthusiasts and enterprises.
  • PCC is a viable alternative to GCC for various BSD distributions like OpenBSD, NetBSD, FreeBSD, and DragonFly.

18. CHICKEN

CHICKEN is a modern-day Linux compiler for the Scheme programming language. It is essentially a compiler and interpreter that implements many useful features of Scheme programmers. CHICKEN can convert Scheme source to C code very effectively and is extremely portable. This is a fairly lightweight Scheme compiler that is fully compliant to the R5RS and partially compliant to the R7RS standard. If you’re looking for a simple Scheme compiler with a plethora of standard features, we highly suggest you test CHICKEN.

Features of CHICKEN

  • CHICKEN can produce portable &efficient C code for a number of platforms and runs on Linux, BSD, OS X, and Windows.
  • The compiler is pretty lightweight due to its limited dependencies and only requires the GNU make and a C toolchain.
  • Developers can create their own extensions or choose from a wide selection of ready-made libraries and extensions.
  • CHICKEN comes with an empowering BSD license that allows restriction-free modification of the compiler.

19. Small Device C Compiler

The Small Device C Compiler is a handy Linux compiler program that allows developers to build programs for 8-bit microcontrollers. It contains a simulator, assembler, linker, and debugger for the ease of development. This is, without any doubt, one of the best Linux compilers for Intel 8051-compatible microcontrollers. It already supports a robust set of microcontroller architectures and is adapting newer hardware quite often. So if you are looking for a simple but effective compiler for your embedded projects, this can be an ideal solution.

Features of Small Device C Compiler

  • It supports Linux, Mac OS, and Windows hosts and can be used for targeting derivatives of Intel MCS51, Freescale, Padauk, and STMicroelectronics STM8 devices.
  • Small Device C Compiler provides in-built support for a wide selection of automated regression tests and monitoring features.
  • The adaptable MCU specific backend allows greater optimization of your code based on the target device.
  • Small Device C Compiler is very well-maintained and offers excellent documentation for starting microcontroller programmers.

20. javac

javac is the de-facto compiler for the Java programming language and is a core component of the standard Java Development Kit(JDK). It accepts programs that are adhered to the Java language specification (JLS) and produces bytecodes using the Java Virtual Machine Specification (JVMS). The compiler itself is written using Java and allows developers to invoke this from their applications. This has become a widely accepted tool for Java programmers due to its robust feature set and powerful command-line controls.

Features of javac

  • javac compiles .java source files into intermediate Java bytecodes, which are used for generating machine-dependent native code.
  • This Java compiler supports a wide range of standard and cross-compilation options to help produce more optimized bytecode representations.
  • It can be found as a standard feature in most Java development tools like the Netbeans IDE and IntelliJ IDEA.
  • Developers can quickly adapt to the javac compilers by utilizing high-quality official documentation.

21. Online GDB

Online GDB is an awesome online Linux compiler for a wide range of programming languages. It also works as an online debugger and allows developers to write optimized code. Onliner compilers like this often come in handy when you’re on a different system or simply don’t want to install development tools for some reason. You can easily write good programs using Online GDB and run programs in both interactive and console modes. So definitely check out this compiler if you’re after online IDEs.

Features of Online GDB

  • Developers can write codes, compile them, run and debug programs as well as share the source with their friends or colleagues.
  • It allows users to supply any command-line arguments for their program using an interactive form and supports interactive console.
  • Online GDB now supports a lot of popular programming languages like C, C++, PHP, Python, Perl, Java, C#, Fortran, Haskell, Assembly, and so on.
  • It enables programmers to upload existing code using its file upload feature and also download any code written by them.

22. FASM

FASM or Flat Assembler is an old-school Linux assembler that is still relevant due to its robust feature set and fast performance. This assembler is aimed at X86-based microprocessors and can deal with Intel-style assembly language on the X86-64 platform very well. Developers like FASM due to its simple design but tremendous power. It allows them to gain extreme size optimizations without increasing the runtime at all. If you’re working with legacy assembly programs that require further optimizations, give this one a try.

Features of FASM

  • It is a multi-pass assembler which provides extensive size optimizations and limitless forward referencing.
  • Since FASM itself is written using assembly, you can use this tool to bootstrap or reverse engineer itself.
  • FASM allows developers to create custom macros for integrating multiple instructions into a single larger instruction.
  • It runs on Linux, BSD, and DOS systems and supports traditional SIMD extensions such as MMX, AVX, and SSE.

23. Bigloo Compiler

Bigloo is a scheme runtime which contains a competitive Linux compiler for the programming language Scheme. It is a family of Lisp dialects that are in common use today. The Bigloo compiler can generate C code and bytecodes for the JVM and .NET. It provides an extended C interface that allows developers to leverage powerful C libraries at ease. On the other hand, Bigloo can be used for pointing to Java structures and provides a robust object-oriented layer on top of it.

Features of Bigloo Compiler

  • Bigloo is compliant to the R5RS standard and implements features like hygienic macros, script interpreter, dynamic protectors.
  • The object-oriented layer of Bigloo enables developers to access and implement mutation functions in instances using their classes.
  • Bigloo utilizes well-known tools like lex and yacc to control the input/output of your programs more practically.
  • It comes with ready-made support for SQL databases and provides a C-based SQLite binding.

24. ispc

The Intel SPMD Program Compiler or ispc is one of the best Linux compilers for SPMD(Single Program Multiple Data) programming. This is an advanced technique for implementing parallelism in your programs and make better utilization of the extra number of cores present in modern Intel chipsets. Developers can write C programs for SPMD and leverage ispc for producing high-performing binaries. You can also use this compiler for optimizing programs effortlessly. Overall, ispc is an excellent solution to programmers who deal with SPMD programs.

Features of ispc

  • Intel SPMD Program Compiler uses LLVM as its backend and can run on most systems on the x86/x86-64 platform.
  • It comes with pre-built support for the instruction sets AVX1, AVX2, AVX512, SSE2, SSE4, and Xeon Phi.
  • The open-source BSD license of ispc encourages developers to extend or modify the source code as they see fit.
  • It increases program performance by scaling core numbers and the size of vector units effectively.

25. JDoodle

JDoodle is another excellent online Linux compiler for home users. It offers support for a massive range of languages as well as databases. JDoodle supports peer programming, so it’s a great choice for teams that work remotely. Programmers can very quickly write or compile their code and share their programs with the community. Moreover, this online application has an intuitive web interface, which makes it effortless to use and navigate. So you should check certainly check out JDoodle if you’re looking for a simple online compiler.

Features of JDoodle

  • JDoodle supports more than 70 different programming languages such as C, C++, Java, Python, Perl, Ruby, Haskell, Kotlin, JavaScript, and so on.
  • Programmers can choose from a number of compiler and their versions, including GCC 9.1.0, 8.1.0, 7.2.0, 5.3.0, and Zapcc 5.0.0.
  • It is easy to download the codes you write, and you can also embed them in blog posts or share them via a simple, shareable link.
  • Developers can integrate JDoodle to their project using the robust REST APIs provided by this online compiler.

Konec myšlenek

Since many powerful Linux compilers are available, developers often find it hard to choose the best one for their project. We have outlined the 25 best offline and online Linux compilers here to help you choose the appropriate solution for your development tasks. You will need to take many things into consideration, like the target platform of your program, availability of resources, level of optimization, and so on. Some of the tools mentioned in this guide are used universally for a wide range of development jobs. The GNU Compiler Collection alongside the LLVM, Clang, and Babel compilers are some of the most popular.


Linux
  1. 10 nejlepších aplikací pro rychlé zasílání zpráv pro Linux

  2. Hyper – Nejlepší terminálová aplikace pro Linux

  3. 10 nejlepších aplikací pro úpravu médií pro Linux

  1. Jaká je nejlepší distribuce Linuxu pro začátečníky?

  2. 20 nejlepších editorů Javascriptu pro Linux

  3. 5 nejlepších blogovacích programů pro Linux Desktop

  1. Která Linuxová distribuce je nejlepší pro ochranu soukromí?

  2. Vyberte si nejlepší souborový systém pro váš Linux

  3. 5 nejlepších linuxových distribucí pro vývojáře a programátory