難読化タイニーCコンパイラ(OTCC)私は2002年に国際難読Cコードコンテスト(IOCCC)を獲得するために書いた非常に小さなCコンパイラです。
私の目標は、自分自身をコンパイルすることができる最小のCコンパイラを書くことでした。私は小さなCコンパイラを書くのに十分一般的であったCのサブセットを選択します。 ';'、 '{'、 '}'とスペース文字を除いたCソースの2048バイト:私は最大のコンテストによって認可サイズになるまで、私はCのサブセットを拡張しました。
私はi386のコードを生成することを選択しました。それはエンディアンと非境界整列アクセスに依存していたため、元のOTCCコードはi386のみLinux上で実行することができます。これは、メモリ内のプログラムを生成し、それを直接開始しました。外部シンボルがdlsymを使用して解決しました()。
OTCCのポータブル版を得るために、私はOTCCELFと呼ばれる変異体を作りました。それはOTCCよりも少しだけ大きいですが、それは任意のbinutilsのツールに依存することなく、直接Cのソースから動的にリンクされたi386のELF実行可能ファイルを生成します! OTCCELFは正常にi386のLinux上では、SPARC Solaris上でテストされました。
注:OTCCのソースコードから開始することによって書かれた完全な機能を備えたISOC99 Cコンパイラである私の他のプロジェクトTinyCC!
編集:
gccの-O2 otcc.c -o otcc -ldl
gccの-O2 otccelf.c -o otccelf
セルフコンパイル:
./otccelf otccelf.c otccelf1ます。
カテゴリから探す
- インターネット·ソフトウェア
- ウェブ開発ソフトウェア
- オーディオソフトウェア
- グラフィックデザインソフトウェア
- ゲーム
- システムユーティリティ
- スクリーンセーバー
- セキュリティーソフトウェア
- ディスク&ファイルのソフトウェア
- デジタル写真ソフトウェア
- デスクトップの機能拡張
- ドライバ
- ネットワークソフトウェア
- ビジネス&オフィスソフトウェア
- ブラウザ
- ホーム&ファミリーソフトウェア
- 教育&科学ソフトウェア
- 映像ソフト
- 生産性ソフトウェア
- 通信ソフトウェア
- 開発者用ツール
- IDEソフトウェア&SDK
- Vimのプラグイン
- アセンブラ&六角エディタ
- インストーラ
- コンポーネント&ライブラリ
- コードエディタ
- デバッグ用ソフトウェア
- データベースソフト
- データベース管理ソフトウェア
- バグ追跡ソフトウェア
- バージョン管理システム
- ユーザ·インタフェース·ソフトウェア
- ローカライゼーションと国際化ソフトウェア
- 品質保証とテストソフトウェア
- 通訳&コンパイラ
人気のソフトウェア
-
UNetbootin 22 Jun 18
-
ClamTk 2 Oct 17
-
JTrac 3 Jun 15
-
CMake 16 Aug 18
-
motor 3 Jun 15
-
Regina Rexx Interpreter 3 Jun 15
-
NASM - The Netwide Assembler 14 Apr 15
Obfuscated Tiny C Compiler
同じようなソフトウェア
開発者の他のソフトウェア Fabrice Bellard
へのコメント Obfuscated Tiny C Compiler
カテゴリから探す
- インターネット·ソフトウェア
- ウェブ開発ソフトウェア
- オーディオソフトウェア
- グラフィックデザインソフトウェア
- ゲーム
- システムユーティリティ
- スクリーンセーバー
- セキュリティーソフトウェア
- ディスク&ファイルのソフトウェア
- デジタル写真ソフトウェア
- デスクトップの機能拡張
- ドライバ
- ネットワークソフトウェア
- ビジネス&オフィスソフトウェア
- ブラウザ
- ホーム&ファミリーソフトウェア
- 教育&科学ソフトウェア
- 映像ソフト
- 生産性ソフトウェア
- 通信ソフトウェア
- 開発者用ツール
- IDEソフトウェア&SDK
- Vimのプラグイン
- アセンブラ&六角エディタ
- インストーラ
- コンポーネント&ライブラリ
- コードエディタ
- デバッグ用ソフトウェア
- データベースソフト
- データベース管理ソフトウェア
- バグ追跡ソフトウェア
- バージョン管理システム
- ユーザ·インタフェース·ソフトウェア
- ローカライゼーションと国際化ソフトウェア
- 品質保証とテストソフトウェア
- 通訳&コンパイラ
人気のソフトウェア
-
phc 3 Jun 15
-
GDB 16 Aug 18
-
DB Designer Fork 3 Jun 15
-
GitLab 23 Nov 17
-
MCU 8051 IDE 2 Jun 15
-
TXR 18 Jul 15
-
deb-install 3 Jun 15
コメントが見つかりません