コンパイラは、最新のソフトウェアとシステムの開発において重要な役割を果たします。これらは、ソース コードをバイナリ実行可能ファイルに変換するコンピューター プログラムです。 C や Pascal などの高水準言語を使用してプログラムを作成する場合、コードを解釈して機械で読み取り可能なバイナリに変換するコンパイラが必要です。通常、最新の Linux IDE は、組み込みのコンパイラ フロントエンドを使用してこれを処理します。一方、私のような多くのシステム プログラマーは、単純なエディターを使用してコードを記述し、適切な Linux コンパイラーを使用してプログラムをコンパイルします。 Linux には多数の魅力的なコンパイラが用意されているため、ニーズに最適なコンパイラを選択できるように、このガイドを厳選しました。
強力な Linux コンパイラ
コンパイラは、コンパイルされた言語で書かれたプログラムを実行可能ファイルに変換するために使用されます。 Python や Perl などの解釈された言語では、これらの言語で記述されたプログラムはスタンドアロン ランタイム内で実行されるため、コードをコンパイルする必要はありません。ただし、コンパイル済み言語は優れたパフォーマンスを提供するため、お気に入りの Linux ディストリビューションなどの高度なアプリケーションの構築に使用されます。
1. GCC
GNU Compiler Collection または GCC は、間違いなく最も強力なコンパイラです。これは、オープンソース GNU プラットフォームの基礎であり、ほぼすべての最新のマシンを何らかの方法で構築するために使用されています。 GCC は、C、C++、Objective C、Ada、Pascal、Fortran など、標準のコンパイル済み言語用の一連のコンパイラを提供します。ほとんどの Linux ディストリビューションには、デフォルトで GCC がインストールされているはずです。 ANSI C と K&R バリアントの両方をサポートしています。あなたが初心者のプログラマーなら、GCC を使い続けてください。
GCC の機能
- GCC はその移植性で知られており、ほとんどの ARM ベースの組み込みデバイスを含む幅広いプラットフォーム用の実行可能ファイルを生成できます。
- 強力なリンク時の最適化手法を実装して、出力バイナリを大幅に高速化します。
- GCC は非常に拡張性が高く、開発者はカスタム プラグインを使用してプロジェクトの必要に応じて新しい機能を追加できます。
- C++ を使用して記述されており、高速な列挙、プロトコル メソッド、クロス コンパイル、クラス拡張などをサポートしています。
2. AOCC
AOCC (AMD Optimizing C/C++ Compiler) は、32 ビットおよび 64 ビットの Linux AMD プラットフォーム向けの無料ですが強力な最適化コンパイラです。これは、開発者が最新の CPU のパフォーマンスを最大限に活用できるようにする特殊なコンパイラです。これは、その膨大な最適化機能により、ゲーム開発者にとって最高の Linux コンパイラの 1 つです。さらに、AOCC はオープンソース プロジェクトです。そのため、開発者はソースを表示して、基礎となる仕組みをよりよく理解できます。
AOCC の特徴
- AMD 最適化 C/C++ コンパイラは、AMD 17h プロセッサ ファミリ用に特別に調整されており、AMD EPYC 7xx2 シリーズにより優れた最適化を提供します。
- このコンパイラは Fortran 言語を使用して記述されており、Ubuntu 18.04、Ubuntu 19.04、および Red Hat Enterprise Linux でテストされています。
- Debian と RPM ベースのシステムの両方にバイナリ インストールを提供し、ソースからのインストールも可能です。
- これは、最新の AMD Ryzen ベースのマイクロプロセッサを所有する Linux ユーザーにとって最適な最適化コンパイラです。
3.インテル C++ コンパイラ
インテル C++ コンパイラーは、Linux やその他の Unix ベースのマシンでシームレスに動作する非常に強力な専用コンパイラーです。これは基本的に、高度な技術とハードウェアの最適化を使用して高性能の実行可能ファイルを生成する機能を備えたコンパイラ スイートです。 icc とも呼ばれるこの最新のコンパイラは、高可用性コンピューティングやゲーム開発に携わる専門家を対象としています。開発者は、Intel ベースの Linux 環境で利用可能な追加のコアを利用するコードをすばやく作成できます。
インテル C++ コンパイラーの機能
- インテル C++ コンパイラーは、Eclipse、Visual Studio、Xcode、Android Studio などの従来の IDE と簡単に統合できます。
- 開発者は、Intel Core、Atom、Xeon ベースのマイクロプロセッサなど、さまざまな Intel ファミリー向けに作成されたプログラムを大幅に最適化できます。
- インテル C++ コンパイラは、SIMD データ レイアウト テンプレート ライブラリなどのツールを使用して SIMD 並列化をサポートします。
- この Linux コンパイラは、OpenMP プログラミング モデル、ラムダの改善、組み込みアプリケーション、インテル® VTune™ プロファイラーをサポートしています。
4. LLVM
低レベル仮想マシン (LLVM) は、コンパイラとオプティマイザを作成するための強力なライブラリとツールを提供するコンパイラ テクノロジのコレクションです。これは、AMD 最適化 C/C++ コンパイラなど、多くの最新のコンパイラで使用されている洗練されたプロジェクトです。 LLVM のシンプルな設計原理により、初心者でも理解しやすく、高度な開発ツールの作成に必要なツールも提供されます。さらに、LLVM は、X86、X86-64、ARM、MIPS、PowerPC など、幅広いアーキテクチャに優れたサポートを提供します。
LLVM の機能
- アセンブリとバイトコードのリーダーとライターとともに、非常に安定したオンラインおよびオフラインのコード表現を提供します。
- LLVM Clang プロジェクトにより、GCC 4.2 パーサーに基づく C、C++、Fortran、および Objective C の魅力的なフロントエンドが可能になります。
- LLVM は、ターゲット固有のネイティブ コードを構築するための C ベースのバックエンドとともに、強力なジャスト イン タイム (JIT) コンパイルを提供します。
- また、最適化のための優れたプロファイリング システム、テスト フレームワーク、ライフロング コンパイル モデル、Linux 用の堅牢なデバッグ ツールも提供します。
5. Netwide アセンブラー
Netwide Assembler または NASM は、Intel x86 マシン用の非常に強力なアセンブラーおよび逆アセンブラーです。 Windows および Mac OS だけでなく、すべての主要な Linux ディストリビューションで動作します。 NASM は、その豊富な機能セットと使いやすさから、最高の Linux アセンブラーと広く見なされています。それは活発に維持されており、多くの分野で使用されています。 x86 Linux システムに最適なアセンブラーをお探しの場合は、NASM をお勧めします。
Netwide Assembler の機能
- ELF、Mach-O、a.out、COFF、OMF、その他のバイナリ ファイルなど、いくつかの形式で出力を組み立てるために使用できます。
- このアセンブラの無料でオープンソースの BSD 2 条項ライセンスにより、NASM は非常に簡単に変更またはカスタマイズできます。
- NASM は、さまざまな出力形式があるため、プログラムをほぼすべての x86 システムに再ターゲットするために使用できます。
- 自動セグメント オーバーライドの生成、フラット バイナリの作成、ROM イメージの書き込み、Linux ブートローダーを実行できます。
6. GFortran
GFortran または GNU Fortran は、GCC に基づく本格的な Fortran コンパイラ フロントエンドです。これは、優れたデバッグ機能やレガシー コードベースのサポートなど、多数の堅牢な機能を提供する FOSS プロジェクトです。 GFortran は Fortran 95 と互換性があり、Fortran 2003 と Fortran 2008 のほとんどの機能も提供します。さらに、このプロジェクトのオープンソースの性質により、開発者はコンパイラ コードを自分で拡張することができます。したがって、Fortran を使用して個人的なプロジェクトを行っている場合や、レガシー エンタープライズ製品を維持している場合は、GFortran を検討してください。
GFortran の機能
- GFortran は、歴史的な g77 Fortran コンパイラを置き換えるために開発されており、すべてのレガシー g77 コードのコンパイルを確実に成功させます。
- 妥当なコンパイル速度と、別のマシン用に開発されたコードをコンパイルする機能で知られています。
- GFortran はシームレスなコンパイル精度を提供し、バグの修正または概要を説明するための便利な Linux チケット システムを維持します。
- この Fortran コンパイラは非常によく維持されており、新しい機能やバグ修正を頻繁に展開しています。
7. GHC
GHC または Glasgow Haskell Compiler は無料ですが、Haskell プログラミング言語用の強力なネイティブ コード コンパイラです。すべての X86、X86-64、および ARM ベースのマシンで利用でき、従来の Unix システムとともに Linux をサポートします。 Haskell は魅力的な関数型プログラミング言語であり、その高度な機能セットにより大きな勢いを増しています。 GHC は、Haskell プログラマーにとって最高の Linux コンパイラーの 1 つであり、現代の研究および産業プロジェクトの構築に必要なすべてを提供します。
GHCの特徴
- GHC は、開発者が手ごわい方法で Haskell プログラムを作成およびテストできるようにするクロスプラットフォーム システムを実装しています。
- この Haskell コンパイラは、大規模なアプリケーションを高速化するためのライブラリ、拡張機能、最適化手法の膨大なリストをサポートしています。
- GHC は並行プログラム用により高速なコードを生成でき、ソフトウェア トランザクション メモリ (STM) などのさまざまな並列化技術をサポートします。
- 非常に移植性が高く、別のプラットフォームの中間ターゲットとして C コードを生成するために使用できます。
8. Tiny C コンパイラ
Tiny C Compiler は、Fabrice Bellard によって開発された、小さいながらも非常に効率的な C コンパイラです。さまざまなリソースの制約がある古いハードウェア用に構築されています。 Tiny C Compiler は、C とアセンブリの組み合わせを使用して記述されているため、コンパイラの全体的なメモリ フットプリントが削減され、小規模な組み込みプラットフォームに最適です。これは、Linux、BSD、および Windows オペレーティング システムでシームレスに動作するクロスプラットフォーム コンパイラです。このコンパイラは、CPU リソースが限られているプロジェクトで作業する開発者にお勧めします。
Tiny C コンパイラの機能
- Tiny C コンパイラは、ANSI C (C89/C90) のすべての機能と、従来の GNU 拡張機能に加えて C99 ISO 標準のほとんどをサポートしています。
- 約 100 KB と非常に軽量で、1.44 MB の空きメモリ容量しかないシステム内で実行できます。
- 便利なコマンドライン スイッチにより、開発者はコンパイル時および Linux シェル スクリプト内でプログラムを自動的に実行できます。
- Tiny C Compiler は、X86、X86-64、および ARM ベースのデバイスで実行でき、GCC よりも約 9 倍高速にコンパイルされます。
9.フリー Pascal コンパイラ
Free Pascal Compiler または FPC は、Pascal および Object Pascal 用のシンプルで効率的なコンパイラです。すべての主要なオペレーティング システムと、16、32、および 64 ビット マシンをサポートします。 FPC はオープンソース ソフトウェアであるため、開発者はソースを表示して問題なく変更を加えることができます。これにより、プログラマーはより最適化されたコードを記述し、古いレガシー アプリケーションの実行時間を短縮できます。さらに、Free Pascal Compiler は、Nintendo NDS や Game Boy Advance などのレトロ ゲーム エミュレーターのプログラミングに最適な Linux コンパイラーの 1 つです。
Free Pascal コンパイラの機能
- Free Pascal Compiler は「一度書けば、どこでもコンパイルできる」アプローチを採用しているため、開発者はより柔軟なコードを記述できます。
- Lazarus 統合開発環境 (IDE) は、この Pascal コンパイラに優れたグラフィカル インターフェイスを提供します。
- x86-64、AArch64、ARMHF など、複数のプラットフォーム用の LLVM ビットコードを正常に生成できます。
- 公式 Web サイトには、初心者が Free Pascal コンパイラを使い始めるのに役立つ優れたドキュメントが用意されています。
10.バベル
Babel は、魅力的な最新の JavaScript 用コンパイラです。これは、ECMAScript 2015+ コードを古いが後方互換性のあるバージョンの JavaScript にトランスパイルするために使用される機能豊富なコンパイラです。これは、既存の JavaScript アプリケーションに新しい機能を追加するために必要になることがよくあります。これにより、新しいコードが古いランタイムでも効果的に実行されるようになります。 Babel は、ソース コードと構文を変換し、不足している機能をポリフィルし、JSX 構文を変換することもできます。しかも、オープンソースプロジェクトです。そのため、開発者は簡単にソースを入手し、必要に応じて拡張できます。
バベルの特徴
- Babel はモジュール式のプラグイン ベースの設計を使用して開発されているため、JavaScript 開発者はカスタマイズを非常に簡単に行うことができます。
- このトランスパイラーの便利なソース マップ サポートにより、コンパイルされたプログラムのエラーを簡単にデバッグできます。
- Babel には、不足している機能を含めるためのポリフィル コードを生成するためのカスタム リジェネレータ ランタイムが付属しています。
- コア機能と使用法を開発者に紹介する優れた詳細なドキュメントを提供します。
11.クラン
Clang は、C スタイルのプログラミング言語用のもう 1 つの強力なコンパイラ フロントエンドです。また、OpenMP、OpenCL、RenderScript、および NVIDIA CUDA フレームワークもサポートしています。 Clang は LLVM をバックエンドとして使用して開発され、エンタープライズ品質のプログラムを保証する多数のツール インフラストラクチャを提供します。シンプルでありながらハッキング可能なコードベースにより、カスタマイズがはるかに簡単になるため、人気が急上昇しています。さらに、Clang は、Atom や Sublime Text などの最新の Linux コード エディターとのシームレスな統合とともに、優れた診断を提供します。
Clang の機能
- Clang は、従来の Linux コンパイラと比較して、コンパイル時間が短く、パフォーマンスが優れていることで知られています。
- このプロジェクトのモジュール式のプラグイン ベースのアーキテクチャにより、Clang は非常にカスタマイズしやすく、限られた CPU リソースしか必要としません。
- ソースを自由に提供しながら、エンタープライズ製品と互換性のある LLVM-BSD ライセンスが付属しています。
- Clang の軽量なメモリ フットプリントは、リソースに制約のあるマシンでプログラムを作成するのに最適です。
12.インテル Fortran コンパイラー
Intel Fortran Compiler または単に IFORT は、Intel ハードウェア用の非常に強力な Fortran コンパイラのファミリです。プログラムの最適化を非常に簡単にする多くの有利な機能セットが付属しています。これらの Fortran コンパイラのほとんどは、IA-32 システムと Intel 64 システムの両方で Fortran アプリケーションを非常に効果的に前処理、コンパイル、アセンブル、およびリンクできます。研究者であろうと開発者であろうと、従来のコードベースを維持している場合でも、IFORT は入手できる最高の Linux コンパイラの 1 つです。
インテル Fortran コンパイラの機能
- これはクロスプラットフォームの Fortran コンパイラであり、Eclipse や Xcode などの従来の Unix IDE との優れた統合を提供します。
- IFORT は、SIMD ベクトル化、自動並列処理、コアレイなどのマルチコア アーキテクチャ機能を活用するために設計されています。
- このスイートの準拠コンパイラは、Fortran 66、77、90、95、2003、および 2008 のすべての機能と、多くの 2018 機能をサポートしています。
- これらの Fortran コンパイラのほとんどは、Windows API、POSIX、OpenGL、コンポーネント オブジェクト モデル (COM)、および GDB で動作します。
13. FreeBASIC
BASIC は、その使いやすさで知られる当時の人気のある言語でした。多くのレガシー アプリケーションは、このマルチパラダイム プログラミング言語を今でも利用しています。 FreeBASIC は、BASIC および QBasic プログラミング言語用のシンプルで機能豊富なコンパイラです。これは、GNU GPL ライセンスの下にあるオープンソース プロジェクトであり、Linux や FreeBSD を含むすべての主要な Unix プラットフォームをサポートしています。この BASIC コンパイラは、MS-DOS および Xbox プラットフォーム用のプログラムの開発にも使用されます。ただし、Xbox の公式サポートは廃止されました。
FreeBASIC の機能
- この 32 ビット BASIC コンパイラは、必要なアセンブラー、リンカー、アーカイバーも提供し、バックエンドとして GNU Binutils ツールチェーンを利用します。
- FreeBASIC はセルフホスティング コンパイラであり、SDL、OpenGL、GTK、C 標準ライブラリなどの一般的なライブラリを多数提供しています。
- 開発者は、Windows の DirectX または Linux ベースのマシンの OpenGL を利用して、グラフィカル プログラムをすばやく構築できます。
- FreeBASIC はデフォルトでコマンドのみのインターフェースを提供しますが、従来の Linux IDE などから使用できます。
14.スカラ ネイティブ
Scala Native は、関数型プログラミング言語 Scala 用のシンプルですが非常に効果的なコンパイラです。これは、コードを大幅に最適化できる AoT (Ahead-of-Time) コンパイラです。 Scala Native は、高レベルの抽象化、型チェック、および不変データ構造の組み込みサポートを備えた、かなり最新のコンパイラです。これにより、現代のソフトウェア ソリューションを簡単に開発するための非常に安全なコンパイラになります。ネイティブ Java または Scala ライブラリを提供する代わりに、Scala Native は JDK のパーソナライズされた実装を実装します。
Scala Native の機能
- Scala Native は、既存の Scala IDE をすぐに使用できる優れたサポートと、標準のビルド ツールとのシームレスな統合を提供します。
- この Scala コンパイラは、LLVM バックエンドを利用して中間表現を生成し、マシンに基づいてパフォーマンスを向上させます。
- JVM (Java 仮想マシン)、JavaScript ランタイム、およびネイティブ プラットフォームに対するクロス パブリッシング インフラストラクチャとして構築されています。
- このコンパイラはオープンソースであるため、開発者は必要に応じてソフトウェアを拡張したり、本質的な変更を加えたりすることができます。
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.
結末
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.