MENU
  • このブログに関して
  • 特集アーカイブ
    • Windows更新情報
    • Windows11使いこなし
    • Windows 10使いこなし
    • macOS/iOS/iPadOS更新情報
    • macOS使いこなし
    • iOS使いこなし
    • Webブラウザ更新情報
  • ソフトウェア
  • Windows
  • Mac
  • iOS
  • セール
PCやMacの性能を100%発揮
ソフトアンテナ
  • このブログに関して
  • 特集アーカイブ
    • Windows更新情報
    • Windows11使いこなし
    • Windows 10使いこなし
    • macOS/iOS/iPadOS更新情報
    • macOS使いこなし
    • iOS使いこなし
    • Webブラウザ更新情報
  • ソフトウェア
  • Windows
  • Mac
  • iOS
  • セール
ソフトアンテナ
  • このブログに関して
  • 特集アーカイブ
    • Windows更新情報
    • Windows11使いこなし
    • Windows 10使いこなし
    • macOS/iOS/iPadOS更新情報
    • macOS使いこなし
    • iOS使いこなし
    • Webブラウザ更新情報
  • ソフトウェア
  • Windows
  • Mac
  • iOS
  • セール
  1. ホーム
  2. ソフトウェア
  3. わずか500行のCソースコードで作られたCコンパイラ「CC500」

わずか500行のCソースコードで作られたCコンパイラ「CC500」

2014 11/17
ソフトウェア
2014年11月17日 2014年11月17日
  • URLをコピーしました!

Binary system 63526 640

Cコンパイラといえばとてつもなく複雑なプログラムというイメージがあります。ところが、このCコンパイラを(サブセットとはいえ)わずか500行ほどのCのソースコードで実現した「CC500」名付けられたプログラムが公開されています。

ソースコードは可読性を維持するためにつけられた空行やコメントを含めると、実際は750行ほどになるそうですが、それでもこれだけコンパクトなソースコードで実行可能なELFバイナリ(Linux用のバイナリ)を生成できるのは興味深いのではないでしょうか。

以下実際にLinuxでコンパイルしてみました。

自己コンパイルできる

このコンパイラはC言語のサブセットで、自分自身のソースコードをコンパイルできるところがおもしろいところです。まず「cc500_1」という実行ファイルを生成します。

gcc cc500.c -o cc500_1

生成された実行ファイル「cc500_1」を使って、自分自身のソースコード「cc500.c」をコンパイルすることができます。

./cc500_1 < cc500.c > cc500_2
chmod +x cc500_2

「cc500_2」から「cc500_3」、「cc500_4」、「cc500_5」と無限に続けていくことができます。

Bash

まとめ

CC500の配布元では、コンパイラの仕様や仕組み、さらには今後の課題など様々な情報が提供されています。

プログラミング言語/コンパイラ/ELFバイナリの情報などに興味を持っている方は参考すると有益な情報を入手できそうです。

ソフトウェア
C compiler
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
  • シンプルで美しいiOS用の人気テキストエディタ「iA Writer」が100円に。本日のiOS/Macアプリセールまとめ
  • Swiftで作られたiOS用の美しいアラートライブラリ「Sweet Alert iOS」

関連記事

  • Microsoft、KB5021751はユーザーの個人情報を取得するためのものではないと断言
    2023年2月5日
  • memtest86+ 6.1がリリース - セキュアブートサポートの改善など
    2023年2月4日
  • LibreOffice 7.5がリリース - ダークモードの改良や新しいアイコンの導入など
    2023年2月3日
  • PowerToys 0.67.0がリリース - Quick access system tray launcherが追加
    2023年2月2日
  • elementary OS 7が正式リリース - アプリ入手性の改善や設定の改良など新機能多数
    2023年2月1日
  • AutoHotkey v2が正式に主要バージョンに
    2023年1月30日
  • 画面録画機能を搭載したMicrosoftの「Snipping Tool」の正式公開が一歩近づく
    2023年1月30日
  • M1/M2/Intel MacでWindows 11を実行できる「UTM 4.1」
    2023年1月29日
スポンサーリンク
サイト内検索
特集アーカイブ
  • Windows更新情報
  • Windows11使いこなし
  • Windows 10使いこなし
  • macOS/iOS/iPadOS更新情報
  • macOS使いこなし
  • iOS使いこなし
  • Webブラウザ更新情報
Feedlyに登録

登録お願いします!

follow us in feedly

人気記事
  • Lp logo 3 1000x657 質問に対し流暢な日本語で回答してくれる「ChatGPT」が公開 - 試し方はこちら
  • Tiny11 Tiny11が爆誕 。極限まで無駄をそぎ落とした軽量Windows 11
  • S 20221123 111042 Windows 11のタスクトレイ時計の秒表示を有効にする方法
  • S 20210923 114221 Windows 11で「管理ツール」を開く方法
  • S 20221206 204658 メニューバーから対話できる「ChatGPT for Mac」がリリース
  • S 20220219 172234 【Tips】iPhoneで撮影した特定の写真だけをiCloudに保存する方法
  • 1675270404 windows 11 update prompt 1 回避不可能?Microsoft、フルスクリーンのWindows 11アップグレード通知を展開開始
  • Hero elementary OS 7が正式リリース - アプリ入手性の改善や設定の改良など新機能多数
  • 1675182949 windows 11x concept 4 Microsoftの次世代OS「 Windows 11X」のコンセプト
  • S 20230205 102926 Microsoft Edgeに100%間違いな新機能が追加へ
カテゴリー
タグ
Amazon Android App Apple applewatch appsale Chrome Edge Firefox Git Github Google iOS iPad ipados iPhone iPhone6 iphone7 iphone8 iTunes JavaScript Kindle Linux Mac MacBook MacBookPro macos Microsoft Nintendo OS X OSX Parallels Rails Ruby Sale Steam Swift Twitter VMware Windows windows7 windows10 windows11 Wine Yosemite
新着記事
  • AmazonでVICTORINOXのペティナイフが9%オフでセール中
  • シンプルな画像切り抜きユーティリティ「Super PhotoCut」がセール価格になった本日のアプリセールまとめ
  • Kindleストアで新星出版社実用書200円均一セールが開催中
src256
ソフトアンテナを開発しています。

Windows/Mac/Linux全部使用中。ソフトウェア、ハードウェアいろいろなモノに興味があります。

好きなエディタはEmacs。好きな言語はRubyです。


srcw.net
  • プライバシーポリシー

© 2022 ソフトアンテナ

目次