開発環境
- 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 コメント:
コメントを投稿