13 Http netwk hnu kr HANNAM UNIVERSITY 1

  • Slides: 69
Download presentation
제 13장 전처리 및 기타기능 Http: //netwk. hnu. kr HANNAM UNIVERSITY 1

제 13장 전처리 및 기타기능 Http: //netwk. hnu. kr HANNAM UNIVERSITY 1

단순 매크로 r 단순 매크로(macro): 숫자 상수를 기호 상수로 만든 것 Ü (예) #define

단순 매크로 r 단순 매크로(macro): 숫자 상수를 기호 상수로 만든 것 Ü (예) #define MAX_SIZE 100 #define PI 3. 141592 #define EPS 1. 0 e-9 Http: //netwk. hnu. kr HANNAM UNIVERSITY

단순 매크로 Http: //netwk. hnu. kr HANNAM UNIVERSITY

단순 매크로 Http: //netwk. hnu. kr HANNAM UNIVERSITY

함수 매크로 r 함수 매크로(function-like macro)란 매크로가 함수처럼 매 개 변수를 가지는 것 r

함수 매크로 r 함수 매크로(function-like macro)란 매크로가 함수처럼 매 개 변수를 가지는 것 r (예) #define SQUARE(x) Http: //netwk. hnu. kr ((x) * (x)) HANNAM UNIVERSITY

함수 매크로의 예 #define SUM(x, y) #define AVERAGE(x, y, z) #define MAX(x, y) #define

함수 매크로의 예 #define SUM(x, y) #define AVERAGE(x, y, z) #define MAX(x, y) #define MIN(x, y) Http: //netwk. hnu. kr ((x) + (y)) (( (x) + (y) + (z) ) / 3 ) ( (x) > (y) ) ? (x) : (y) ( (x) < (y) ) ? (x) : (y) HANNAM UNIVERSITY

예제 ((++x) * (++x)) 4 9 1. 440000 25 25 16 Http: //netwk. hnu.

예제 ((++x) * (++x)) 4 9 1. 440000 25 25 16 Http: //netwk. hnu. kr HANNAM UNIVERSITY

#ifdef의 예 Http: //netwk. hnu. kr HANNAM UNIVERSITY

#ifdef의 예 Http: //netwk. hnu. kr HANNAM UNIVERSITY

예제 Http: //netwk. hnu. kr HANNAM UNIVERSITY

예제 Http: //netwk. hnu. kr HANNAM UNIVERSITY

예제 Http: //netwk. hnu. kr HANNAM UNIVERSITY

예제 Http: //netwk. hnu. kr HANNAM UNIVERSITY

비주얼 C++에서 설정하는 방법 Http: //netwk. hnu. kr HANNAM UNIVERSITY

비주얼 C++에서 설정하는 방법 Http: //netwk. hnu. kr HANNAM UNIVERSITY

#if-#else-#endif r (예) Http: //netwk. hnu. kr HANNAM UNIVERSITY

#if-#else-#endif r (예) Http: //netwk. hnu. kr HANNAM UNIVERSITY

다양한 예 Http: //netwk. hnu. kr HANNAM UNIVERSITY

다양한 예 Http: //netwk. hnu. kr HANNAM UNIVERSITY

다양한 예 Http: //netwk. hnu. kr HANNAM UNIVERSITY

다양한 예 Http: //netwk. hnu. kr HANNAM UNIVERSITY

조건부 컴파일을 이용하는 디버깅 Http: //netwk. hnu. kr HANNAM UNIVERSITY

조건부 컴파일을 이용하는 디버깅 Http: //netwk. hnu. kr HANNAM UNIVERSITY

조건부 컴파일을 이용하는 디버깅 Http: //netwk. hnu. kr HANNAM UNIVERSITY

조건부 컴파일을 이용하는 디버깅 Http: //netwk. hnu. kr HANNAM UNIVERSITY

다수의 라인을 주석처리 Http: //netwk. hnu. kr HANNAM UNIVERSITY

다수의 라인을 주석처리 Http: //netwk. hnu. kr HANNAM UNIVERSITY

예제 r 정렬 알고리즘을 선택 Http: //netwk. hnu. kr HANNAM UNIVERSITY

예제 r 정렬 알고리즘을 선택 Http: //netwk. hnu. kr HANNAM UNIVERSITY

헤더 파일 이중 포함 방지 /*** *stdio. h - definitions/declarations for standard I/O routines

헤더 파일 이중 포함 방지 /*** *stdio. h - definitions/declarations for standard I/O routines ****/ #ifndef _INC_STDIO #define _INC_STDIO. . . . 헤더 파일이 포함되면 매크 #endif 로가 정의되어 서 이중 포함 을 방지합니다. Http: //netwk. hnu. kr HANNAM UNIVERSITY

다중 소스 파일 Http: //netwk. hnu. kr HANNAM UNIVERSITY

다중 소스 파일 Http: //netwk. hnu. kr HANNAM UNIVERSITY

예제 power. h multiple_source. c power. c Http: //netwk. hnu. kr HANNAM UNIVERSITY

예제 power. h multiple_source. c power. c Http: //netwk. hnu. kr HANNAM UNIVERSITY

헤더 파일을 사용하지 않으면 Http: //netwk. hnu. kr HANNAM UNIVERSITY

헤더 파일을 사용하지 않으면 Http: //netwk. hnu. kr HANNAM UNIVERSITY

헤더 파일을 사용하면 Http: //netwk. hnu. kr HANNAM UNIVERSITY

헤더 파일을 사용하면 Http: //netwk. hnu. kr HANNAM UNIVERSITY

다중 소스 파일에서 외부 변수 Http: //netwk. hnu. kr HANNAM UNIVERSITY

다중 소스 파일에서 외부 변수 Http: //netwk. hnu. kr HANNAM UNIVERSITY

비주얼 C++에서 다중 소스 파일 Http: //netwk. hnu. kr HANNAM UNIVERSITY

비주얼 C++에서 다중 소스 파일 Http: //netwk. hnu. kr HANNAM UNIVERSITY

인수 전달 방법 C: cprogram> mycopy src dst Http: //netwk. hnu. kr HANNAM UNIVERSITY

인수 전달 방법 C: cprogram> mycopy src dst Http: //netwk. hnu. kr HANNAM UNIVERSITY

main_arg. c Microsoft Windows XP [Version 5. 1. 2600] (C) Copyright 1985 -2001 Microsoft

main_arg. c Microsoft Windows XP [Version 5. 1. 2600] (C) Copyright 1985 -2001 Microsoft Corp. c: cprogrammainargDebug>mainarg src dst 명령어 라인에서 0번째 문자열 = mainarg 명령어 라인에서 1번째 문자열 = src 명령어 라인에서 2번째 문자열 = dst c: cprogrammainargDebug> Http: //netwk. hnu. kr HANNAM UNIVERSITY

비주얼 C++ 프로그램 인수 입력 방법 Http: //netwk. hnu. kr HANNAM UNIVERSITY

비주얼 C++ 프로그램 인수 입력 방법 Http: //netwk. hnu. kr HANNAM UNIVERSITY

mile 2 km. c Microsoft Windows XP [Version 5. 1. 2600] (C) Copyright 1985

mile 2 km. c Microsoft Windows XP [Version 5. 1. 2600] (C) Copyright 1985 -2001 Microsoft Corp. c: cprogrammainargDebug>mainarg 10 입력된 거리는 16. 090000 km입니다. c: cprogrammainargDebug> Http: //netwk. hnu. kr HANNAM UNIVERSITY

디버깅 r 소스에 존재하는 오류를 잡는 것 Http: //netwk. hnu. kr HANNAM UNIVERSITY

디버깅 r 소스에 존재하는 오류를 잡는 것 Http: //netwk. hnu. kr HANNAM UNIVERSITY

디버깅 r 디버깅: 논리 오류를 찾는 과정 Http: //netwk. hnu. kr HANNAM UNIVERSITY

디버깅 r 디버깅: 논리 오류를 찾는 과정 Http: //netwk. hnu. kr HANNAM UNIVERSITY

디버거의 실행 과정 Http: //netwk. hnu. kr HANNAM UNIVERSITY

디버거의 실행 과정 Http: //netwk. hnu. kr HANNAM UNIVERSITY

디버거의 실행 과정 Http: //netwk. hnu. kr HANNAM UNIVERSITY

디버거의 실행 과정 Http: //netwk. hnu. kr HANNAM UNIVERSITY

디버거의 실행 과정 Http: //netwk. hnu. kr HANNAM UNIVERSITY

디버거의 실행 과정 Http: //netwk. hnu. kr HANNAM UNIVERSITY

비트 단위 연산자 r 비트 연산 표 X Y AND OR XOR 0 0

비트 단위 연산자 r 비트 연산 표 X Y AND OR XOR 0 0 0 1 0 1 1 1 0 X NOT 0 0 1 0 Http: //netwk. hnu. kr HANNAM UNIVERSITY 54

비트 배타 논리합 연산자 Http: //netwk. hnu. kr 비트 1 비트 2 비트 1

비트 배타 논리합 연산자 Http: //netwk. hnu. kr 비트 1 비트 2 비트 1 ^ 비트 2 0 0 1 1 1 0 HANNAM UNIVERSITY

비트 부정 연산자 Http: //netwk. hnu. kr 비트 1 ~비트 1 0 1 1

비트 부정 연산자 Http: //netwk. hnu. kr 비트 1 ~비트 1 0 1 1 0 HANNAM UNIVERSITY

예제 비트 비트 Http: //netwk. hnu. kr AND = 00000008 OR = 0000000 B

예제 비트 비트 Http: //netwk. hnu. kr AND = 00000008 OR = 0000000 B XOR = 00000003 NOT = FFFFFFF 6 HANNAM UNIVERSITY

오른쪽 비트 이동 연산(양수) Http: //netwk. hnu. kr HANNAM UNIVERSITY

오른쪽 비트 이동 연산(양수) Http: //netwk. hnu. kr HANNAM UNIVERSITY

오른쪽 비트 이동 연산(음수) Http: //netwk. hnu. kr HANNAM UNIVERSITY

오른쪽 비트 이동 연산(음수) Http: //netwk. hnu. kr HANNAM UNIVERSITY

예제 비트 << = 00000024 비트 >> = 00000002 Http: //netwk. hnu. kr HANNAM

예제 비트 << = 00000024 비트 >> = 00000002 Http: //netwk. hnu. kr HANNAM UNIVERSITY

bit_field. c style=5 size=3 color=1 sizeof(p 1)=4 p 1=ccccccfd Http: //netwk. hnu. kr HANNAM

bit_field. c style=5 size=3 color=1 sizeof(p 1)=4 p 1=ccccccfd Http: //netwk. hnu. kr HANNAM UNIVERSITY

Q&A Http: //netwk. hnu. kr HANNAM UNIVERSITY

Q&A Http: //netwk. hnu. kr HANNAM UNIVERSITY