2014年11月8日土曜日

開発環境

Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の8章(スタティックライブラリとダイナミックライブラリ: ホットスワップ可能なコード)、長いエクササイズ(p.379)を解いてみる。

その他参考書籍

長いエクササイズ(p.379)

コード(BBEdit, Emacs)

treadmill.c

#include <hfcal.h>

int main(int argc, char *argv[])
{
  display_calories(50.0, 10, 200);

  return 0;
}

Makefile

hfcal_UK.o: hfcal_UK.c
 cc -g -Wall -c hfcal_UK.c -o hfcal_UK.o

libhfcal.dylib: hfcal_UK.o
 cc -g -Wall -shared hfcal_UK.o -o ~/root/lib/libhfcal.dylib

treadmill.o: treadmill.c 
 cc -g -Wall -c treadmill.c -o treadmill.o

treadmill: treadmill.o libhfcal.dylib
 cc -g -Wall treadmill.o -lhfcal -o ~/root/apps/treadmill

run: treadmill
 ~/root/apps/treadmill

入出力結果(Terminal)

$ echo $C_INCLUDE_PATH
/Users/kamimura/root/include
$ echo $LIBRARY_PATH
/Users/kamimura/root/lib:/opt/local/lib
$ make run
cc -g -Wall -c treadmill.c -o treadmill.o
cc -g -Wall -c hfcal_UK.c -o hfcal_UK.o
cc -g -Wall -shared hfcal_UK.o -o ~/root/lib/libhfcal.dylib
cc -g -Wall treadmill.o -lhfcal -o ~/root/apps/treadmill
~/root/apps/treadmill
体重:50.00 kg
距離:10.00 km
消費カロリー:100000.00カロリー
$ cc -g -Wall -c hfcal.c -o hfcal.o
$ cc -g -Wall -shared hfcal.o -o ~/root/lib/libhfcal.dylib 
$ ~/root/apps/treadmill 
体重:50.00ポンド
距離:10.00マイル
消費カロリー:100000.00カロリー
$

0 コメント:

コメントを投稿