2014年2月24日月曜日

開発環境

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

その他参考書籍

実習 10-1

コード(BBEdit, Emacs)

sample.cpp

#include <iostream>

#define RETURN_STATUS int
#define RETURN_SUCCESS 0
#define RETURN_WARNING 1
#define RETURN_ERROR 2
#define CHECK_RETURN_FATAL(status) (status) == RETURN_ERROR

int main()
{
    RETURN_STATUS a = RETURN_SUCCESS;
    RETURN_STATUS b = RETURN_WARNING;
    RETURN_STATUS c = RETURN_ERROR;
    
    std::cout << a << '\n';
    if (CHECK_RETURN_FATAL(a)) {
        std::cout << "致命的なエラーが発生\n";
    }    
    std::cout << b << '\n';
    if (CHECK_RETURN_FATAL(b)) {
        std::cout << "致命的なエラーが発生\n";
    }    
    std::cout << c << '\n';
    if (CHECK_RETURN_FATAL(c)) {
        std::cout << "致命的なエラーが発生\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
0
1
2
致命的なエラーが発生
$

0 コメント:

コメントを投稿