Top > C
  • The added line is THIS COLOR.
  • The deleted line is THIS COLOR.
  • Go to C.

TITLE:C言語
[[ProgrammingLanguage]] > [[C]]

- C言語 FAQ 日本語訳 
--  http://www.kouno.jp/home/c_faq/

- Notes on Programming in C
--  http://doc.cat-v.org/bell_labs/pikestyle

* 規格 [#n3ffc7cb]
- K&R (Classic C)
- C89/C90 (ANSI C)
- C99

- [[C11]]

* 開発環境 [#devenv]

- [[GCC]]
- [[Clang]]

* コンパイル [#compile]

- 実行ファイル(a.out とか a.ext)を作り、それを shell から指定して実行する。
- ヘッダで関数の引数や帰り値の型をチェックする


** 分割コンパイル [#rdea4ae8]

- コンパイルは .o というオブジェクトファイルを生成して、そこから a.out に変換する
- 複数の .o をまとめて1つの a.out にする事が出来る。(リンカの仕事)
- 複数のファイルに処理を分割してバラバラにコンパイルし、後で連結する方法。
- そのうち一つのファイルだけ編集があった時に、それだけコンパイル出来るので、全体としてのコンパイル時間が短くて済む。

* ポインタ変数 [#pointer]

- 何らかの変数の場所を差す変数
- alias として使える
- 配列としても使える。

- 実装的には、単にメモリのアドレス値が入ってる。

* 32bit/64bit [#bitwidth]

|type   |LP32 |ILP32|LP64|ILP64|LLP64|h
|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 |

- 参考) http://www.wdic.org/w/TECH/%E3%83%87%E3%83%BC%E3%82%BF%E5%9E%8B%E3%83%A2%E3%83%87%E3%83%AB#32xE2x86x9264

* コード解析 [#n19f7de5]
- Clang Static Analyzer
--  http://clang-analyzer.llvm.org/

* その他 [#rel]


- 全てのCプログラマが未定義な振る舞いについて知っておくべきこと #1/3
--  http://blog-ja.intransient.info/2011/05/c-13.html?m=1
- C言語(標準)にM_PIは無い
--  http://qnighy.hatenablog.com/entry/2015/05/22/225558


- [[getopt]]

* 関連 [#rel]

- [[GCC]] | [[Clang]]
- [[プログラミング言語>ProgrammingLanguage]]
- [[C++>CPlusPlus]]
- [[D言語>D]]

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes