2014年2月23日日曜日

開発環境

C++実践プログラミング (スティーブ オウアルライン (著)、Steve Oualline (原著)、Steve Oualline(原著)、望月 康司(翻訳)、クイープ(翻訳) 、オライリー・ジャパン)のⅡ部(シンプルなプログラミング)の10章(C++ プリプロセッサ)、10.4(パラメータをとるマクロ)、設問 10-6を解いてみる。

その他参考書籍

設問 10-6

コード(BBEdit, Emacs)

sample.cpp

#include <iostream>

/* スペースを削除 */
#define RECIPROCAL(number) (1.0 / (number))

int main()
{
    float counter;
    
    for (counter = 0.0; counter < 10.0; counter += 1.0) {
        /* スペースを削除してない問題のコードの場合、RECIPROCAL(counter)は
         * (number) (1.0 / (number))(counter)と展開される
         */
        std::cout << "1/" << counter << " = " << RECIPROCAL(counter) << '\n';
    }
    
    return (0);
}

Makefile

#
# FSFのg++コンパイラ用のMakefile
#
CC=g++
CFLAGS=-g -Wall
all: sample

sample: sample.cpp
 $(CC) $(CFLAGS) -o sample sample.cpp

clean:
 rm sample

入出力結果(Terminal)

$ make && ./sample
g++ -g -Wall -o sample sample.cpp
1/0 = inf
1/1 = 1
1/2 = 0.5
1/3 = 0.333333
1/4 = 0.25
1/5 = 0.2
1/6 = 0.166667
1/7 = 0.142857
1/8 = 0.125
1/9 = 0.111111
$

0 コメント:

コメントを投稿