Cjは、x86とARM64アーキテクチャ用の小さなJIT(Just-In-Time)コンパイラフレームワークで、C言語で記述されています。このフレームワークは、高レベルの構造を使わず、直接命令を生成する低レベルAPIを提供し、他の依存関係は一切ありません。C標準ライブラリのみを必要とし、手動で定義されたレジスタと自動生成されたバックエンドを使用します。基本的な使用方法には、JITコンテキストを作成し、命令を発行して実行可能な関数を生成する手順が含まれています。また、ループ処理やプロローグ・エピローグのセットアップが可能なビルダーヘルパーも提供されています。このプロジェクトは、特定のプロセッサアーキテクチャのISAを理解し、楽しむために開発されました。サポートされているアーキテクチャは、x86-64とARM64です。