2012. 7. 13. 16:38

summation3.c

#include <stdio.h>
#include "debug.h"

// summation() 함수의 프로토타입 선언
int summation(int from, int to);

int main(int argc, char* args[])
{        
        int num, result;

        DLOG("프로그램 시작\n");
        
        printf("1부터 n까지의 합을 계산합니다.\n");
        printf("n을 입력하세요: ");
        scanf("%d", &num);

        printf("결과: %d\n", summation(1, num));
                
        return 0;
}

// summation() 함수의 정의
int summation(int from, int to)
{
        int i, sum = 0;

        DLOG("from: %d, to: %d\n", from, to);
        
        for (i = from ; i <= to ; i++) {
                sum += i;
                DLOG("sum: %d\n", sum);
        }

        DLOG("sum: %d\n", sum);
        
        return sum;
}


debug.h
#include <stdio.h>

#ifdef DEBUG
        #define DLOG(fmt, args...)            fprintf(stderr, fmt, ##args) //##args는 args...에서 입력 받은 가변 인자 리스트를 그대로 치환하라는 의미이다
#else  
        #define DLOG(fmt, args...)
#endif        /* DEBUG */

---------------------------------------------------

Result

gcc -DDEBUG summation3.c // D 옵션은 매크로를 정의해 주기위한 옵션

DEBUG가 정의되어 있지 않으면 아무런 일도 하지않음

'EMBEDDED > SYSTEM Proc' 카테고리의 다른 글

[Library] Library 만들기  (0) 2012.07.13
[Gcc] 관련 메뉴얼  (0) 2012.07.13
[Normal] 비트필드 예제  (0) 2012.07.13
[Normal] 가변 인자를 사용하는 예제  (0) 2012.07.13
[Network] 일대일 채팅 프로그램  (1) 2012.07.13
Posted by 몰라욧