ProgrammingLanguage > C
- Notes on Programming in C
- K&R (Classic C)
- C89/C90 (ANSI C)
- C99
開発環境†
コンパイル†
- 実行ファイル(a.out とか a.ext)を作り、それを shell から指定して実行する。
- ヘッダで関数の引数や帰り値の型をチェックする
分割コンパイル†
- コンパイルは .o というオブジェクトファイルを生成して、そこから a.out に変換する
- 複数の .o をまとめて1つの a.out にする事が出来る。(リンカの仕事)
- 複数のファイルに処理を分割してバラバラにコンパイルし、後で連結する方法。
- そのうち一つのファイルだけ編集があった時に、それだけコンパイル出来るので、全体としてのコンパイル時間が短くて済む。
ポインタ変数†
- 何らかの変数の場所を差す変数
- alias として使える
- 配列としても使える。
32bit/64bit†
type | LP32 | ILP32 | LP64 | ILP64 | LLP64 |
char | 8 | 8 | 8 | 8 | 8 |
short | 16 | 16 | 16 | 16 | 16 |
int | 16 | 32 | 32 | 64 | 32 |
long | 32 | 32 | 64 | 64 | 32 |
long long | . | . | 64 | 64 | 64 |
void * | 32 | 32 | 64 | 64 | 64 |
コード解析†
その他†
- 全てのCプログラマが未定義な振る舞いについて知っておくべきこと #1/3
- C言語(標準)にM_PIは無い
- C Is Not a Low-level Language - Your computer is not a fast PDP-11.