2014-2 기초프로그래밍 2
12.C 프로그램 환경설정
제1장
C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠! Microsoft Visual Studio 개발환경 과정
1.1 1.1.1
IDE (Integrated Development Environment) : 통합개발 환경
• 코딩, 컴파일,디버깅, 배포 등 프로그램 개발에 관련된 작업을 하나의 프로그램 안에서 처리하게 하는 환경을 제공하는 소프트웨어 • 대화형 Interface 제공 • WYSIWYG (what you see is what you get) • GUI(Graphic User Interface) 개발용 도구 제공 • 고전적 방법 - 각각의 프로그램을 이용해서 작업 - 작업속도 느림 (직관적이지 못함) - 개발환경에 대한 이해의 폭이 넓어짐 • java 진영의 eclipse 와 경쟁
1.1.2
Visual Studio 97
• Professional & Enterprise Edition • Visual Basic 5.0 • Visual C++ 5.0 • Visual J++ 1.1 • Visual FoxPro 5.0
1.1.3
Visual Studio 6.0 (1998년)
• Visual Basic 6.0 • Visual C++ 6.0 • 독립모듈 - Visual Interdev
2
Microsoft Visual Studio 개발환경 과정 - Visual FoxPro - Visual Basic 6.0 - Visual J++ JVM 사용 분쟁으로 출시 못함
Figure 1.1: Visual Studio 6.0
1.1.4
Visual Studio .NET 2002
• .NET Framework • Visual Basic .NET • C# 새로운 언어 소개 • Visual J# (자바문법+ .NET Framework 용으로 컴파일) • C++ Managed Extension 을 통해 C++ 언어로 닷넷 프로그램을 생성 할 수 있다. • 비주얼 폭스 프로를 제외한 모든 언어 통합
1.1.5
Visual Studio .NET 2003 (ver. 7.1)
• .NET Framework 1.1 • Mobile 개발환경 제공
1.1.6
Visual Studio 2005 (ver. 8.0) 2005년10월
• .NET Framework 2.0 • Generic Programming 추가 지원 • 64비트 지원 (이전에는 Platform SDK이용) • AMD64 용 바이너리 컴파일 가능 • Express Edition - Web Developer EE - SQL Server 2005 EE - XBOX 360 XNA Game Studio EE - Robotics Studio EE
3
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.1.7
Visual Studio 2008 (ver.9.0) 2008년 2월
• Win-Vista 지원 • .NET Framework 3.5 • C# 3.0 • Visual Basic 9.0
Figure 1.2: Visual Studio 2008
1.1.8
Visual Studio 2010
• .NET Framework 4.0 • C# 4.0 • Visual Basic 10.0
1.1.9
모바일 프로그램 예
Figure 1.3: 모바일 프로그램
4
VC 6.0 or VC 2010 개발 환경
VC 6.0 or VC 2010 개발 환경
1.2 1.2.1
VC++ 6.0 개발환경
Figure 1.4: VC++ 6.0 개발환경
Figure 1.5: 2개의 View 화면
ClassView-논리적 구분 • 현재 작성 중인 workspace에 포함된 클래스들을 모두 보여준다. • 클래스의 멤버 변수와 멤버 함수도 볼 수 있으며, 추가/삭제 기능도 제공된다.
FileView-물리적 구분 • 현재 프로그램을 구성하고 있는 파일들을 모두 보여준다. 새로운 프로젝트나 파일을 추가/삭제 할 수 있다. • Visual C++ 의 Build, Execute 단위는 파일이 아닌 프로젝트 단위
5
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.2.2
VC 2010 개발환경
• 도구상자 및 속성창 추가 • 파일뷰를 솔루션뷰로 명칭 변경 • DB 및 네트웍 기능 추가
Figure 1.6: VC 2010 개발환경
6
VC 6.0 or VC 2010 설정
1.3 1.3.1
VC 6.0 or VC 2010 설정 VC 6.0 WorkSpace 생성
Figure 1.7: VC 6.0 WorkSpace 생성 과정
Figure 1.8: VC 6.0 실행
7
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.9: VC 6.0 시작화면
Figure 1.10: VC 6.0 New
Figure 1.11: VC 6.0 Sample 워크스페이스 생성
8
VC 6.0 or VC 2010 설정
Figure 1.12: VC 6.0 WorkSpace 생성 확인
9
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.3.2
VC 2010 Solution 생성
Figure 1.13: VC 2010 실행
Figure 1.14: VC 2010 시작화면
10
VC 6.0 or VC 2010 설정
Figure 1.15: VC 2010 New
Figure 1.16: VC 2010 Sample 솔루션 생성
11
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.17: VC 2010 솔루션 생성 확인
12
VC 6.0 or VC 2010 설정
1.3.3
VC 6.0 첫번째 프로젝트 생성
Figure 1.18: VC 6.0 새로운 프로젝트 추가
Figure 1.19: VC 6.0 Win32 Console Application 선택
13
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.20: VC 6.0 An empty project 선택
Figure 1.21: VC 6.0 프로젝트 생성 확인
14
VC 6.0 or VC 2010 설정
1.3.4
VC 6.0 두번째 프로젝트 생성
Figure 1.22: VC 6.0 두번째 새로운 프로젝트 추가
Figure 1.23: VC 6.0 Win32 Console Application 선택
15
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.24: VC 6.0 An empty project 선택
Figure 1.25: VC 6.0 프로젝트 생성 확인
16
VC 6.0 or VC 2010 설정
1.3.5
복수의 프로젝트중 원하는 프로젝트 선택 요령
Figure 1.26: 굵게 표시된 프로젝트가 현재 활성화된 프로젝트
Figure 1.27: 활성화 변경 시도 (Set as Active Project)
17
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.28: 활성화 변경 완료
18
VC 6.0 or VC 2010 설정
1.3.6
VC 2010 첫번째 프로젝트 생성
Figure 1.29: VC 2010 새로운 프로젝트 추가
Figure 1.30: VC 2010 Win32 Console Application 선택
19
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.31: VC 2010 An empty project 선택
Figure 1.32: VC 2010 프로젝트 생성 확인
20
VC 6.0 or VC 2010 설정
1.3.7
VC 2010 두번째 프로젝트 생성
Figure 1.33: VC 2010 두번째 새로운 프로젝트 추가
Figure 1.34: VC 2010 Win32 Console Application 선택
21
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.35: VC 2010 An empty project 선택
Figure 1.36: VC 2010 프로젝트 생성 확인
22
VC 6.0 or VC 2010 설정
1.3.8
VC 2010 복수의 프로젝트중 원하는 프로젝트 선택 요령
Figure 1.37: 굵게 표시된 프로젝트가 현재 활성화된 프로젝트
Figure 1.38: 활성화 변경 시도 (Set as Active Project)
23
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.39: 활성화 변경 완료
24
VC 6.0 프로그램 작성하기
1.4
VC 6.0 프로그램 작성하기
Figure 1.40: VC 6.0 프로그램 작성 과정
25
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.4.1
VC 6.0 *.c 코드 작성하기
Figure 1.41: VC 6.0 코드 작성
Figure 1.42: VC 6.0 New
26
VC 6.0 프로그램 작성하기
Figure 1.43: VC 6.0 C++ 파일 만들기
파일 확장자 기본은 cpp 이며 c를 원할경우 확장자 명까지 기입하도록 한다
Figure 1.44: VC 6.0 코드 작성
27
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.4.2
VC 6.0 컴파일 하기
Figure 1.45: VC 6.0 컴파일 하기
Figure 1.46: 첫번째 컴파일 방법
28
VC 6.0 프로그램 작성하기
Figure 1.47: 두번째 컴파일 방법
Figure 1.48: 세번째 컴파일 방법
Figure 1.49: 컴파일 결과
29
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.4.3
VC 6.0 인위적인 컴파일 에러 발생
Figure 1.50: 세미콜론 삭제 후 컴파일!!
Figure 1.51: 에러발생 대책
30
VC 6.0 프로그램 작성하기
1.4.4
VC 6.0 링크 하기
Figure 1.52: VC 6.0 링크 하기
Figure 1.53: 첫번째 링크 방법
31
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.54: 두번째 링크 방법
Figure 1.55: 링크결과
1.4.5
VC 6.0 인위적인 링크 에러 발생
Figure 1.56: printf 에서 print 로 수정후 빌드
32
VC 6.0 프로그램 작성하기
Figure 1.57: 에러발생 대책
1.4.6
VC 6.0 실행 하기
Figure 1.58: VC 6.0 실행 하기
33
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.59: 첫번째 실행 방법
Figure 1.60: 두번째 실행 방법
Figure 1.61: 실행 화면
34
VC 2010 프로그램 작성하기
1.5
VC 2010 프로그램 작성하기
Figure 1.62: VC 6.0 프로그램 작성 과정
35
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.5.1
VC 2010 *.cpp 코드 작성하기
Figure 1.63: VC 2010 코드 작성
36
VC 2010 프로그램 작성하기
Figure 1.64: VC 2010 새항목 선택
37
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.65: VC 2010 C++ 파일 만들기
파일 확장자 기본은 cpp 이며 c를 원할경우 확장자 명까지 기입하도록 한다
Figure 1.66: VC 2010 코드 작성
38
VC 2010 프로그램 작성하기
1.5.2
VC 2010 컴파일 하기
Figure 1.67: VC 2010 컴파일 하기
Figure 1.68: 첫번째 컴파일 방법
39
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.69: 두번째 컴파일 방법
Figure 1.70: 컴파일 결과
1.5.3
VC 2010 인위적인 컴파일 에러 발생
Figure 1.71: 세미콜론 삭제 후 컴파일!!
40
VC 2010 프로그램 작성하기
Figure 1.72: 에러발생 대책
41
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.5.4
VC 2010 링크 하기
Figure 1.73: VC 2010 링크 하기
Figure 1.74: 첫번째 링크 방법
42
VC 2010 프로그램 작성하기
Figure 1.75: 두번째 링크 방법
Figure 1.76: 링크결과
43
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.5.5
VC 2010 인위적인 링크 에러 발생
Figure 1.77: printf 에서 print 로 수정후 빌드
Figure 1.78: 에러발생 대책
44
VC 2010 프로그램 작성하기
1.5.6
VC 2010 실행 하기
Figure 1.79: VC 2010 실행 하기
Figure 1.80: VC 2010 디버깅 하지 않고 시작
• 디버깅(Debug) : 오류 수정. 컴퓨터 프로그램의 잘못을 찾아내고 고치는 작업. 일단 작성된 프로그램 들이 정확한가(즉 잘못 작성된 부분이 없는가)를 조사하는 과정
45
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.81: 실행 화면
Figure 1.82: VC 2010 디버깅 시작 - 결과 화면 사라질 수 있음 유의!!
Figure 1.83: VC 2010 디버깅 시작 - 결과 화면 사라질 수 있음 유의!!
46
VC 2010 Q&A
1.6 1.6.1
VC 2010 Q&A #include ”stdio.h” 를 넣어주어야 하는건 아닌가요?
Figure 1.84: VC 2010 새 솔루션 만들면서 프로그램 생성
Figure 1.85: VC 2010 미리 컴파일된 헤더 포함
47
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.6.0 VC 2010 자동완성된 코드 1
#include "stdafx.h"
2 3
int _tmain(int argc, _TCHAR* argv[])
4
{ return 0;
5 6
}
자동으로 만들어진 코드를 잘 살펴보면 첫번째 줄에 #include ”stdafx.h” 파일이 만들어진게 보입니다. 일단 파일을 관리하는 방식으로 이해하면 되고, 우리가 원하는 #include ”stdio.h” 는 ”stdafx.h” 파일안에 비밀이 숨어 있습니다. 1.6.1 stdafx.h 1
// stdafx.h : 자주 사용하지만 자주 변경되지는 않는
2
// 표준 시스템 포함 파일 및 프로젝트 관련 포함 파일이
3
// 들어 있는 포함 파일입니다.
4
//
5 6
#pragma once
7 8
#include "targetver.h"
9 10
#include <stdio.h>
11
#include <tchar.h>
12 13
48
VC 2010 Q&A
1.6.2
미리컴파일된 헤더 파일을 열 수 없습니다.
Figure 1.86: 미리컴파일된 헤더 파일을 열 수 없습니다
Figure 1.87: 해당 프로젝트 속성 열기
Figure 1.88: Pre-Compiled Header 수정 (미리컴파일된 헤더 파일)
49
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.6.3
출력창이 보이지 않습니다.??
Figure 1.89: 출력창 열기
50
VC + Editplus
1.7
VC + Editplus
Visual Studio 가 설치되어 있는 (필자의 컴퓨터는 VS 2010 설정이다) 컴퓨터에서 간단하게 컴파일 과 실행만을 위해서는 앞서 사용한 Editplus 를 이용할 수 있다. Editplus 사용하기에 앞서 몇가지 설치 과정을 따라해 보자.
1.7.1
Editplus 설정
사용자도구 추가 컴파일러를 에디트플러스에 등록하기 위해서는 아래 그림과 같이 컴파일러를 선택해야한다.
Figure 1.90: 사용자도구 추가
51
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠! 컴파일러 추가 컴파일러 옵션은 아래 그림처럼 해주면 된다.
Figure 1.91: 컴파일러 옵션 설정
명령버튼을 통해 컴파일러가 위치한 곳의 경로를 설정해주면 된다. 2010 이외의 다른 컴파일러 (*.exe) 를 사용하는 경우 해당되는 경로를 넣어주면 된다.
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.exe
52
VC + Editplus 실행 추가 • 같은 방법으로 이번에는 실행을 추가해보자. • 명령은 $(FileNameNoExt) 을 직접 추가 입력한다.
Figure 1.92: 실행 옵션 설정
53
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.7.2
윈도우 환경 설정
컴파일러(cl.exe) 를 윈도우 어느 경로에서든 접근할 수 있도록 에디트 플러스 설정 이후 윈도우 시 스템의 설정을 해주어야 한다.
Figure 1.93: 내컴퓨터-시스템속성-환경변수-고급
PATH 추가 그림과 같이 path 경로는 이미 만들어져 있을 것이다. 여기에 몇가지 추가를 하면 되는데, ; 을 빼먹 지 않도록 주의하도록 하자.
Figure 1.94: INCLUDE 추가
추가내용은 아래와 같다. C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.exe; C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE;
54
VC + Editplus INCLUDE 추가
Figure 1.95: INCLUDE 추가
환경변수 설정에는 ; 을 빼먹지 않도록 주의하도록 하자. C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\include; C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include;
55
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠! 같은 방법으로 LIB 를 새로 추가하도록 하자. LIB 추가
Figure 1.96: LIB 추가
C:\Program Files\Microsoft Visual Studio 10.0\VC\lib; C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib; <--kernel32.lib 문제 해결용
56
VC + Editplus
1.7.3
EditPlus 출력창 설정
화면하단에 컴파일이나 실행결과가 보이게 하기 위해서는 두가지 설정을 해주도록 한다.
Figure 1.97: 컴파일 출력화면
Figure 1.98: 컴파일 출력화면
57
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.7.4
실행 화면
Figure 1.99: 컴파일 출력화면
Figure 1.100: 실행 출력화면
58
Win-GCC 환경설정
1.8 1.8.1
Win-GCC 환경설정 MinGW - Minimalist GNU for Windows
http://sourceforge.net/projects/mingw/files/Installer/ 에서 그림과 같이 프로그램을 다 운로드 받도록 한다. 크기는 약 90M 정도가 된다.
Figure 1.101: 설치프로그램 실행화면
Figure 1.102: 설치경로설정
59
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
Figure 1.103: 기본패키지 다운로드 시작
Figure 1.104: gcc 와 gcc++ 선택 후 업그레이드
패키지 선택후 인스톨메뉴에서 업그레이드 시키면 다운로드 시작후 설치가 된다.
60
Win-GCC 환경설정
Figure 1.105: 설치내역
1.8.2
PATH 추가
C:\MinGW\bin; PATH 추가
61
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.8.3
Editplus 설정추가
Figure 1.106: GCC 단축키 설정
Figure 1.107: 실행 단축키 설정
62
Win-GCC Q&A
1.9 1.9.1
Win-GCC Q&A gxx personality 에러
---------- GCC ---------C:\Users\KEVIN_~1\AppData\Local\Temp\ccMPGmoN.o:Noname1.cpp:(.eh_frame+0x13): undefined reference collect2.exe: error: ld returned 1 exit status 출력 완료 (0초 경과) - 정상 종료
Figure 1.108: gcc 대신 g++ 를 사용하면 문제를 해결할 수 있다.
63
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.10 1.10.1
Ddv-C++ 개발환경 프로그램 다운로드 받기
http://www.bloodshed.net/ http://www.bloodshed.net/dev/devcpp.html
Figure 1.109: Ddv-C++ 경로
Figure 1.110: Ddv-C++ 경로
Figure 1.111: Ddv-C++ 경로
64
Ddv-C++ 개발환경
Figure 1.112: Ddv-C++ 경로
65
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.10.2
프로그램 설치
Figure 1.113: 프로그램 설치
Figure 1.114: 프로그램 설치
Figure 1.115: 프로그램 설치
66
Ddv-C++ 개발환경
Figure 1.116: 프로그램 설치
Figure 1.117: 프로그램 로고
Figure 1.118: 프로그램 실행 화면
67
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.10.3
새로운 프로젝트 만들기
Figure 1.119: 프로젝트 생성 경로 설정
Figure 1.120: 미리 준비해둔 폴더명으로 프로젝트 생성 위치 설정
Figure 1.121: 프로젝트 생성
68
Ddv-C++ 개발환경
Figure 1.122: Console Applicaiton 선택
Figure 1.123: 프로젝트를 저장할 폴더 생성
Figure 1.124: 프로젝트 저장
69
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.10.4
컴파일
Figure 1.125: 소스코드 자동 생성 확인
Figure 1.126: 컴파일
Figure 1.127: 컴파일 메뉴선택
70
Ddv-C++ 개발환경
Figure 1.128: 소스파일 저장
Figure 1.129: 컴파일 완성
Figure 1.130: 프로젝트 생성후 프로젝트 파일 확인
71
제 1 장 C 프로그램 환경설정 :: 개발 환경을 익히면 반은 끝난거죠!
1.10.5
프로그램 수행
Figure 1.131: 프로그램 수행
Figure 1.132: 컴파일과 실행을 동시에 가능
Figure 1.133: 프로그램 수행
72
연습문제
1.11
연습문제
Question
1
컴파일과 링킹에 대해 설명하시오. 정답
2
IDE 의 약자와 의미를 설명하시오. 정답
3
Visual Studio 의 Build 의 역할을 설명하시오. 정답
4
C 프로그램 작성시 printf 함수의 f 를 생략했다. 어떤 에러가 발생하는지 설명하시오. 정답
5
디버깅에 대해 간단히 설명하시오. 정답
6
프리컴파일링이란 무엇인지 설명하시오. 정답
7
컴파일러를 어느경로에서는 실행시키기 위해서는 윈도우의 환경설정 중 어떤 작업을 해주어야 하는 지 설명하시오. 정답
8
Path 와 header(include) lib(lib) 경로를 추가해주어야 한다.
Editplus 를 이용해서 컴파일 할 경우 출력 결과를 Editor 출력창에 보이기 위한 방법을 설명하시오.
정답
9
WYSIWYG 의 약자를 설명하시오. 정답
73