開発環境
- OS: macOS High Sierra - Apple
- Text Editor: Emacs
- コンパイラー: LLVM/Clang, GCC(gcc)
- プログラミング言語: C
Head First C ―頭とからだで覚えるCの基本 (David Griffiths (著)、Dawn Griffiths (著)、中田 秀基 (監修)、木下 哲也 (翻訳)、オライリージャパン)の4章(複数のソースファイルの使用 - 分割して構築する)、makeマグネット(p. 203)を取り組んでみる。
makeマグネット(p. 203)
Makefile
oggswing: oggswing.h oggswing.c gcc oggswing.c -o oggswing swing.ogg: oggswing whitennerdy.ogg ./oggswing whitennerdy.ogg swing.ogg
oggswing.h
#pragma once
oggswing.c
#include <stdio.h> #include "oggswing.h" int main(int argc, char *argv[]) { if (argc != 3) { fprintf(stderr, "引数が必要\n"); return 1; } FILE *in = fopen(argv[1], "r"); FILE *out = fopen(argv[2], "w"); char s[255]; while (fgets(s, sizeof(s), in)) { fprintf(out, "%s", s); } fclose(in); fclose(out); }
入出力結果(Terminal)
$ make swing.ogg gcc oggswing.c -o oggswing ./oggswing whitennerdy.ogg swing.ogg $ cat whitennerdy.ogg Whitennerdy $ cat swing.ogg Whitennerdy $
0 コメント:
コメントを投稿