Transcript 13. Tips.2
Tips. 2
실행파일이 만들어지는 과정
C언어 프로그램의 실행파일은
C언어 소스파일을 컴파일하고 링크함으로써 만들어지
며, 컴파일과 링크를 합하여, 빌드(build) 혹은 메이크
(make)라고 한다.
빌드
소스 파일
컴파일
링크
실행 파일
컴파일, 링크 과정
p180
소스 파일의 분할
프로그램을 구성하는 기능별로 소스파일을
분류
한 파일에 모아놓는 것보다 소스 관리가 편하고 가독
성을 높인다.
방법
기능별로 소스파일을 분할하고, 각 소스파일에 관련된
헤더파일을 만든다.
이때 기능별 소스파일과 헤더파일의 이름은 통일한다.
헤더(Header) 파일
Prototype선언, 구조체 정의 등을 포함한
텍스트파일
확장자가 .h인 파일
헤더 파일 include
#include <파일명> : 표준함수
#include “파일명” : 호출하는 파일과 같은 디렉토
리에 있는 헤더파일을 인클루드.
cf. 매크로 (Macro)
#으로 시작하는 한 줄짜리 명령
컴파일 전 단계에서 전처리기(preprocessor)가 코드
속의 매크로를 변환
종류
#include : 헤더파일의 내용을 복사하라!
조건에 따른 컴파일 #if, #ifndef 등
: 컴파일 조건 변경.
헤더 파일의 중복
원인
여러 파일에서 #include를 사용하면서, 동일한 헤더
파일을 두 번 인클루드하는 경우, 중복 에러 발생
중복 include 막는 예제
#ifndef _MYHEADER
#define _MYHEADER
// 내용
#endif
Solution vs. Project
Solution > Project > Files
Project 관리
Solution
하나의 제품을 구성하는 프로젝트들의 집합
: 확장자 .sln
예) Office2010
Project
하나의 실행파일을 만드는데 필요한 파일들
의 집합
: 확장자 .vcxproj
예: Word, Excel
Project 생성
하나의 솔루션에 다수의 프로젝트 생성
하나의 솔루션과 프로젝트 생성 후 다음 프로
젝트를 추가한다.
파일 메뉴 추가 메뉴 새 프로젝트 추가
Project별 빌드
솔루션 탐색기에서 굵게 표시된 프로젝트가 현
재 선택된 프로젝트
빌드할 프로젝트 관련 파일 등 활성(Active) 후,
프로젝트 메뉴 > 시작 프로젝트로 설정
또는 솔루션탐색기에서 솔루션에 대한 팝업 메뉴에서
시작 프로젝트 설정 후, 원하는 프로젝트를 선택하고
빌드하면 그 프로젝트가 실행
디버깅(Debugging)
디버깅
프로그램 오류인 버그(bug)를 수정하는 작업
디버깅 보조 도구 없이
처리를 분할하고, printf( ) 삽입
함수 별로 실행하거나, 처리의 흐름을 조건식 등으로
제한
데이터 구조 분석 등
디버거(Debugger)
디버깅 작업을 보조하는 도구(Tool)
소스 프로그램의 변경 없이 동작 확인
비쥬얼 C++(VC++) 개발 환경은 디버거를 내장하고
있다.
디버거의 대표 기능
중단점 (Break Point) 설정
단계 (Step) 실행
변수값의 표시와 변경
VC++의 디버거
솔루션 구성(Configuration)
Debug / Release
컴파일 시 빌드 모드(build mode) 설정
Dubug 모드
디버깅 정보 포함 개발버젼
Release 모드
디버깅 정보 없이 코드 최적화 최종버젼
중단점 설정
중단점 (Break Point)
프로그램의 실행을 중지하고 싶은 위치
중단점을 설정할 위치에 커서를 두고 단축키 F9
: 중단점 위치에 빨간색 원 생성
디버깅 시작
디버깅>디버깅 시작 메뉴 (단축키 F5)
: 다음 중단점에서 멈춤.
디버깅 중단 (Shift+F5)
단계 실행
한 줄씩 코드를 실행하는 기능
조건 분기가 많은 프로그램 등에 특히 편리
다음 실행할 코드 앞에 노란색 화살표 표시
단계 실행의 종류
Step Over (단축키 F10)
: 한 줄씩 실행하되 함수 안으로 안 들어가기.
Step Into (단축키 F11) : 함수 안으로 들어가기
Step Out (Shift + F11) : 함수 안에서 바로 나오기
변수값의 표시와 변경
변수 값 확인
코드 수정 없는 printf( ) 기능
툴팁으로 마우스가 놓여진 변수의 값 확인
좌측 하단 변수 표시 창
: 자동, 지역, 조사식(전역변수)
변수 값 변경
툴팁 및 변수 표시 창을 통해 변경 가능.
기타
기타 기능
커서 위치까지 실행 (Ctrl + F10)
조건부 중단점
: 중단점 커서 > 팝업메뉴 > 중단점 > 조건 설정
실습
오늘 배운 Tip들을 한 학기 동안 배운 예제
에 적용해 본다.
소스파일 분할
: 연결 리스트 실습 예제의 구조체와 함수 등을 소스
파일 분할 해보기.
솔루션, 프로젝트 관리
: 성적처리 프로그램을 버전 별로 하나의 솔루션 내에
서 2개의 프로젝트로 관리 해보기.
디버깅
: 오류가 발생했던 예제를 디버거로 해결 해보기.
End