Extern 변수 사용방법
보통은 개발할때 extern 변수는 사용이 금기시되는 항목중에 속하는데요, 그래도 간혹가다가 쓸모가 있을때도 있으니 사용방법에 대해서 간락하게 적어 놓아 보아요. 나중에 제가 잊어버렸을때 요거 보고 참고할려구요. ㅎㅎㅎㅎ
extern 변수 사용방법은 생각보다 간단합니다.
첫째, extern 변수를 선언할 헤더 파일을 생성한다.
둘째, extern 변수를 초기화할 cpp 파일을 생성한다.
끝! ? ㅋㅋ
너무 간단한가요?
제가 실제 게임개발에 가끔 사용하는 예제를 적어볼께요^^ 물론 이 방법이 절대적인 방법은 아니니 그냥 참고 정도로만 해주세요^^
Cocos2dx 를 사용해서 앱 개발에 사용했던 코드입니다.
header file 이름은 common.h 입니다.
#pragma once
#ifndef __COMMON_H__
#define __COMMON_H__
#pragma execution_character_set("utf-8")
//--------------------------------------------------------------------- Include
#include "cocos2d.h"
//------------------------------------------------------------------ Name space
USING_NS_CC;
extern long long _gHighScore;
struct Player
{
std::string szName;
int Level;
}
extern Player _gPlayer;
#endif
저는 여기에 Player 라는 구조체와 highscore라는 변수를 하나 선언해서 사용했어요
이들 두 extern 변수는 초기화가 반드시 필요한데 초기화 하는 코드도 나중에 헷갈리지 않도록 common.cpp 파일을 만들어서 그 안에서 다 해줬어요.
Common.cpp 전역변수 초기화 파일
#include "Common.h"
long long _gHighScore = 0;
Player _gPlayer;
이렇게 두 전역 변수를 초기화 하면 끝. 이 변수를 사용하는 방법은 간단해요.
예를 들자면 MainScene 이라고 하는 클래스에서 전역변수에 접근하는 방법이에요.
void MainScene::playerLevelup()
{
_gPlayer.Level += 1;
}
void MainScene::setPlayerName(cosnt std::string &iName)
{
_gPlayer.szName = iName;
}
void MainScene::setHighScore(const long long &iHighScore)
{
_gHighScore = iHighScore;
}
이러면 끝~ 간단하지요?
협업하는 프로그램 개발환경에서는 전역변수 남발은 곧 자폭의 길이니 아무쪼록 전역변수 사용에 앞서 한번 더 생각해 보시고 사용하세요^^
'개발 > 코딩' 카테고리의 다른 글
No Rule to make target CCActionFrame.o 에러 발생시 해결방법 (Cocos2dx) (0) | 2016.11.10 |
---|---|
포토샵 레이어별 파일로 저장하기 (Photoshop export layer to file) (0) | 2016.11.07 |
'앱 아이콘' 쉽고 간단하게 만드는 방법 (포토샵) (0) | 2016.11.04 |
Cocos studio를 사용한 스프라이트 에니메이션 구현하기 (Sprite Animation) (0) | 2016.11.04 |
인디게임 무료 배경음 사이트 (3) | 2016.11.04 |
인디게임 개발에 필요한 무료이미지 사이트 (0) | 2016.11.04 |
[Coco2dx 개발이야기] 코코스2dx에서 Android 진동함수(Vibrator) 호출하는 방법 (0) | 2016.11.03 |
[코코스2dx 개발이야기] coco2dx에서 Android JNI 호출 방법 (0) | 2016.11.03 |
최근댓글