첫번째 프로젝트 - Stack Calculator 05
Here is tips and How to make executive file.
몇가지 tip을 먼저 씁니다.
makefile
a.out : node.o que_handler.o main.o
g++ -o a.out node.o que_handler.o main.o
node.o : node.h node.cpp
g++ -c node.cpp
que_handler.o: que_handler.h que_handler.cpp
g++ -c que_handler.cpp
main.o : main.cpp main.h
g++ -c main.cpp
g++을 사용할 경우 - linux 에서 코딩할 경우에 사용합니다. 여러개의 파일로 나누어 작업한 파일을 합쳐서 컴파일 및 링크를 간편하게 할 수 있습니다. 문법은 찾아보시기를.. 문법을 봐도 사실 무슨 말인지 알기 참 어렵습니다 .이 것은 그런 분들을 위한 실제적인 예제 입니다. 그리고, 이 makefile은 stack calculator를 위한 것이 아닙니다. 그냥 예 입니다.
첫번째 두번째 줄만 설명하면
a.out - 만들려는 (g++ 실행 뒤의 결과) 파일
':' 문법 입니다 .
node.o que_handler.o main.o - a.out을 만드는데 필요한 파일들
여백 : 반드시 tap으로 띄워야 합니다. 잘 안되면 vi나 pico를 이용해서 tap을 추가해 주세요.
g++ 이하 - 실제 실행 명령어
프로그램은 헤더파일과 cpp 파일로 나누어 작업합니다. 처음엔 조금 불편하지만 익숙해지면 오히려 편합니다.
#ifndef __iostream_H__ //기본 입출력 헤더
#define __iostream_H__
#include <iostream.h>
#endif
헤더 파일 include가 중복되지 않도록 해주는 선언입니다.
#ifndef : if not defined : 어떤 헤더파일을 include 할 때마다 표시를 만들어 둡니다. 이 경우 #define __iostrem_H__ 가 그 역할을 합니다. 실제 프로그램적 기능은 전혀 없고 단지 표식 일 뿐입니다. 이름의 경우, 여백과 . 대신에 _ 를 쓰고, 모두 대문자를 쓰는 것이 일반적인 약속입니다만 뭐 좀 틀리게 해도 큰 문제는 없습니다. 하나의 프로젝트 안에서 통일만 시키면 됩니다.
__iostream_H__ 이 표식이 없으면 표식을 만들고 <iostream.h>를 include 해라 라는 구문입니다. 표식이 이미 만들어져 있다면 바로 #endif 로 넘어가겠지요.
'Exercise & Quizz > C++' 카테고리의 다른 글
C++ 코딩 - 이자 계산 - 이자가 0으로 나와요 (0) | 2015.08.30 |
---|---|
Stack calculator #4 - Infix - Postfix translation using Stask structure (0) | 2008.08.21 |
Stack calculator #3 - Infix - Postfix translation using Stask structure (0) | 2008.08.21 |
Stack calculator #2 - Infix - Postfix translation using Stask structure (0) | 2008.08.21 |
Stack calculator #1 - Infix - Postfix translation using Stask structure (0) | 2008.08.21 |