C - 複数のソースファイルの使用 - 分割して構築する - コンパイラー, 警告, 関数, 定義から宣言を分離する
Head First C ―頭とからだで覚えるCの基本、 David Griffiths(著)、 Dawn Griffiths(著)、 中田 秀基(監修)、 木下 哲也(翻訳)、 O’Reilly Media)の4章(複数のソースファイルの使用 - 分割して構築する)、p.176(コンパイラになってみよう)の解答を求めてみる。
Makefile
all:
cc main.c && ./a.out
コード
main.c
#include <stdio.h>
// コンパイルできて正常に機能するプログラム
float mercury_day_in_earth_days();
int hours_in_an_earth_day();
int main()
{
float length_of_day = mercury_day_in_earth_days();
int hours = hours_in_an_earth_day();
float day = length_of_day * hours;
printf("%f\n", day);
}
float mercury_day_in_earth_days()
{
return 58.65;
}
int hours_in_an_earth_day()
{
return 24;
}
入出力結果(Terminal, Zsh)
% make
cc main.c && ./a.out
1407.600098
%