2014年5月16日金曜日

開発環境

Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の5章(構造体、教養隊、ビットフィールド - 独自の構造を使う)、エクササイズ(p.233)を解いてみる。

その他参考書籍

エクササイズ(p.233)

コード(BBEdit, Emacs)

sample233.h

typedef struct {
  float tank_capacity;
  int tank_psi;
  const char *suit_material;
} equipment;

typedef struct {
  const char *name;
  equipment kit;
} diver;

void badge(diver d);

sample233.c

#include <stdio.h>

#include "sample233.h"

void badge(diver d)
{
  printf("名前:%s タンク:%2.2f(%i) スーツ:%s\n",
         d.name, d.kit.tank_capacity, d.kit.tank_psi, d.kit.suit_material);
}

test_sample233.c

#include "sample233.h"

int main(int argc, char *argv[])
{
  diver randy = {"ランディ", {5.5, 3500, "ネオプレン"}};
  
  badge(randy);

  return (0);
}

Makefile

CC=cc
CFLAGS = -g -Wall
SRC=test_sample233.c sample233.c
OBJ=test_sample233.o sample233.o

all: test_sample233

test_sample233: $(OBJ)
 $(CC) $(CFLAGS) -o test_sample233 $(OBJ)

test_sample233.o: sample233.h test_sample233.c
 $(CC) $(CFLAGS) -c test_sample233.c

sample233.o: sample233.h sample233.c
 $(CC) $(CFLAGS) -c sample233.c

clean:
 rm -rf test_sample233 test_sample233.o sample233.o

入出力結果(Terminal)

$ make && ./test_sample233
cc -g -Wall -c test_sample233.c
cc -g -Wall -c sample233.c
cc -g -Wall -o test_sample233 test_sample233.o sample233.o
名前:ランディ タンク:5.50(3500) スーツ:ネオプレン
$

0 コメント:

コメントを投稿