複数のソースファイルの使用:分割して構築する
Cでソースファイルを小さな扱いやすい部分に分割し、そこから1つの巨大なプログラムを構築する方法を学ぶ。
データ型の詳細
ToC
小さなものに大きなものを入れてはいけない
コンパイラが警告することもあるが黙ってオーバーフローすることもある
整数をfloatに格納する
int x = 7; int y = 2; float z = (float)x / y;のようにすれば3.5と正しく計算できる
弱ったな、失業中の俳優だ
コードがどうなったのか見てみよう
コンパイラは驚きたくない
定義から宣言を分離する
最初のヘッダファイルの作成
共通機能がある場合は
コードを別のファイルに分割できる
コンパイルの舞台裏
プリプロセス
コンパイル→アセンブリ
アセンブル→オブジェクトファイル
リンク→実行可能ファイル
共有コードには独自のヘッダファイルが必要
そんなに難しいことなの?
全てのファイルを再コンパイルしない
ソースが変更されていなければそのソースから生成されるオブジェクトファイルは変更されない
まず、ソースをオブジェクトファイルにコンパイルする
gcc -c *.c
gcc *.o -o launch 次にオブジェクトファイルをリンクする
ファイルの管理は難しい
更新が必要なファイルを検出するというタスクは難しい
変更したソースファイルだけを自動的に再コンパイルできるツールがあって欲しい
makeツールでビルドを自動化する
ターゲット: 何らかのファイルから生成される任意のファイル
依存関係: ターゲットがどのファイルから生成されるのか
レシピ: ファイルを生成するために実行すべき一連の命令
ルール: 依存関係とレシピを合わせたもの
makeの動作方法
コードに関することはmakefileを使ってmakeに知らせる
発射!
Cツールボックス