C言語について
C
- 1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発した汎用プログラミング言語である。
- C言語を用いて作成されたプログラムは直接実行できないため,それを翻訳して実行可能形式(機械語プログラム,ロードモジュール)に変換する必要がある.
- この変換の作業をコンパイルと呼び,コンパイルを行ってくれるソフトウェアをコンパイラと呼ぶ.
- コンパイル: $ gcc 実行ファイル名
- プログラムの実行: $ ./実行ファイル名
- 公式ドキュメント
- GitHub
開発ツールについて
Make
- “make” というコマンドを実行するだけで, 自動的にコマンドを実行してコンパイルして くれる.
- これだけではスクリプトと大差がないのだが, make は Makefile に記された依存関係に 基づいて更新されたファイルの内関連のあるものだけを更新することで, コンパイル時間を 短くする.
- 公式サイト
フレームワークについて
C言語フレームワーク事情
- C言語はフレームワークが少ない言語といわれています。
- 実際、ベテランC言語エンジニアはあまりフレームワークを多用しません。
- それは、C言語開発はライブラリに依存することが多いので、フレームワークをつくろうとするとカバーする範囲が大きくなってしまい利便性が低下してしまうからです。
- そのため、C言語向けのフレームワークをつくろうとする企業や個人が少ないのです。
- そもそもフレームワークは小規模なプロジェクトを短期間に効率よく進めるために使われるものなので、C言語案件によくある大規模プロジェクトにはフレームワークは向いていないのです。
- 小規模のスマホアプリ開発ならPHPやPython向けのフレームワークを使って進めたほうがはるかに効率的です。
CSpec
- CSpecはDSLを志向しているBDDフレームワークです。
- 仕様を書くようにユニットテストを記述できるメリットがあります。
- 分析技法のTDDとの親和性の高さもCSpecの強みです。
- 公式サイト
Cmockery
- Cmockeryは、グーグル製品向けのユニットテスト用のフレームワークです。
- サポート機能が充実し、簡素なつくりになっています。
- 契約による設計との親和性が高いメリットがあります。
- 公式サイト