Yet another tiny tiny self-hosted C compiler, assembler, linker and standard C library.
aqcc is yet another tiny self-hosted C compiler with an also tiny assembler,
linker and standard C library.
Just make
.
./aqcc [options] file...
options
are:
-S
: output an assembly file.-c
: output an object file.-o
: set the output file name.To find the detail, try make selfself_test
, which tells you all the things.
AnQou C Compiler の使い方
make
としてください。生成物を削除したいときは、 make clean
などとしてください。
make test
make self_test
make selfself_test
./aqcc [options] file...
options
には以下のようなものを使用できます。
-S
-c
-o out
program.c
を以下のようにしてコンパイルし、実行できます。
aqcc
や program.c
などは適宜読みかえてください。
$ ./aqcc program.c -o program
$ ./program
なお、#include <stdio.h>
などとはできません。
program.c
の中にこのような構文が含まれている場合は、取り除いて下さい。
その代わりに、自前で puts()
関数などの プロトタイプ宣言を program.c
の冒頭に加えてください。
なお、カレントディレクトリ内のファイルはインクルードできますので、 #include "aqcc.h"
などとインクルードして、
aqcc.h
に記されているプロトタイプ宣言を流用できます。
また、標準ライブラリのうち提供されている機能はごく僅かです。
stdlib.c
などを参照して下さい。aqccが自動でこれらをリンクすることはありません。明示的に指定してください。
aqccはセキュリティキャンプ全国大会2018の成果物です。
講師の@rui314さんと@hikaliumさんに深く感謝申し上げます。