MFC에서 보면 아래와 같은 소스 코드가 있다.


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif // _DEBUG


이것에 대해 엄청난 궁금증이 있었지만 그려러니 하고 넘어갔었다.

그러던 중 우연치않게 이 용도를 알았다.

프로그래밍하던중 종료시에 "Detected memory leaks!" 이란 메시지를 우연찮게 발견했다.

아무래도 어디선가 new를 했다 delete 를 하지 못해 구천에서 떠도는 원혼의 소리 같은 필이팍! -_-;

하지만 어디서 나오는지 도저히 알 방법이 없었다.

힌트라도 주면 디버깅을 하겠지만 이건 뭐... 완존히... -_-;;

그래서 나름대로 사이트를 뒤적거리던중 ms 사이트에서 이걸 발견했다.

cpp 파일에다가 이걸 선언하면 (h에 하면 않된다.) 해결이 된다.


그렇다면 한번 예를 적겠다. 생성자에 아래와 같은 코드를 넣는다.

char *p = new char[4444];


물론 고의 적으로 delete p; 를 하지 않는다.


#define new DEBUG_NEW를 cpp 꼭대기에 선언하지 않았을 경우 디버그 모드로 실행하다

종료하면 디버깅창에 아래와 같은 메시지가 나온다. 몇번지에 몇 바이트까지 나온다.

원혼이 떠도는지는 알겠지만 원인은 모른다. ㅠㅠ


Detected memory leaks!
Dumping objects ->
{71} normal block at 0x00E1B748, 4444 bytes long.
Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
Object dump complete.


#define new DEBUG_NEW를 해당 cpp 꼭대기에 선언한 경우는 종료시 아래와 같이 나온다.


Detected memory leaks!
Dumping objects ->
C:\어쩌고저쩌고\Test.cpp(172) : {71} normal block at 0x00E1B748, 4444 bytes long.
Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
Object dump complete.


아! 얼마나 훌륭한가?

만약 선언되지 않은 cpp에 메모리 릭이 발생된다면 위치는 가르쳐 주지 않을것이다.

이제 원인을 아니까 성불 시킬수 있을것이다! (일본만화를 너무 많이 봤나? -_-)

모든 클래스의 사이즈를 외운다면 필요없겠지만.. 못외우는 분은 알고 있으면 좋을것 같다. ^^


이런 삽질을 반복하고 나서 이 코드의 의미를 알게 되었다.

이 덕분에 리소스 관리자의 버그를 찾아내었다. ^^;;

바꿔 말하면 버그 있는지 모르고 게임이 나올뻔했다. -_-;


ps... 이것은 어디까지나 MFC에 한해서 작동된다. 따라서


#ifdef _AFXDLL
#ifdef
_DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif // _DEBUG

#endif // _AFXDLL


라고 쓰는 것이 좋을 것이다.



알아낸곳은

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvissdk/html/vissdk.asp


좀더 자세한 정보가 있는곳을 찾았다.

http://www.michaelmoser.org/memory.htm

'도서관 I > MFC' 카테고리의 다른 글

[바람이] CCommanDialog Class  (0) 2005.09.26

남들이 자기를 좋아하게 만드는 10가지 원칙



1.타인의 이름을 외우는데 익숙하라.
이것을 잘못하면 그 사람에게 당신이 별로 관심이 없다는 말이 된다.



2.당신의 존재가 아무런 방해가 되지 않도록 온화한 사람이 되라.
오래된 친구처럼 편안한 사람이 되어야 한다.



3.어떤 일에도 마음에 흩어지지 않는 단정하고 여유있는 성품을 가져라.



4.자기를 지나치게 자랑하는 사람이 되어서는 안 된다.
자기는 무슨 일이든 알고 있다는 인상을 남에게 보이지 마라.



5.사람들이 당신과의 교제에서 어떤 가치를 얻을 수 있도록 폭 넓은 사람이 되기 위해 노력하라.



6.당신의 개성에서 ´부조화스러운´ 요소를 제거하라.
비록 그것이 무의식적인 것일지라도......



7.당신이 지닌 적이 있고 현재 지니고 있는 모든 오해를 없애도록 진지하게 노력하라.



8.정말로 그렇게 할 수 있기까지 타인을 좋아하려고 노력하며 몸소 행하라.



9.성공한 사람에게는 축하의 말을, 슬퍼하거나 실망하는 사람들에게는 위로의 말을 해 주는 기회를 놓쳐서는 안 된다.



10.사람들에게 정신적인 힘이 되어 주라.
그러면 그들은 마음으로부터 당신을 좋아하게 될 것이다.













wit.co.kr (해당게시물로 바로가시려면 여기를 눌려주세요.)










wit.co.kr (해당게시물로 바로가시려면 여기를 눌려주세요.)

'삶의 여유' 카테고리의 다른 글

[바람이] SPH-M4300 롬버젼 확인하는 방법  (0) 2006.08.22
남들이 자기를 좋아하게 만드는 10가지 원칙  (0) 2006.07.03
불법주차하지 맙시다~~  (0) 2006.07.03
콩가루  (0) 2006.06.30
그게 사랑이야  (0) 2006.06.30

불법주차하지 맙시다~~



wit.co.kr (해당게시물로 바로가시려면 여기를 눌려주세요.)
문득...

이런 생각이 든다... 마치 내가 허수아비가 된 듯한 느낌...

나에겐 아무런 생각도 들지 않고... 아무것도 할 수 없는...

밥먹을 시간이 되면, 밥을 먹고...

자야할 시간이 되면 잠을 잔다...

...

예전엔 참 생각이 많던 아이였는데...

이런저런 생각에 잠 못이루는 적이 많았는데...

이런것이 나이를 먹는 것인가 보다...

점점 꿈을 잃어가면 안되는데...

...그러면 안되는데...

wit.co.kr (해당게시물로 바로가시려면 여기를 눌려주세요.)

그게 사랑이야


그거 말이야.
좋은 옷 보면 생각나는 거,
그게 사랑이야.

맛있는 거 보면 같이 먹고 싶고,
좋은 경치 보면 같이 보고 싶은 거,
나쁜게 아니라 좋은 거 있을 때,
여기 그 사람이 있었으면 좋겠다
생각하는 거, 그게 사랑인 거야.

사랑한다는 것은
오래 지켜봐 주는 거라는 거.
지금 하늘이 무너지면
그 사람 달려와 줄 거다,
생각하게 하는 거.


- 공지영의《착한 여자》중에서 -




* 사랑은 나누는 것, 함께 하는 것입니다.
빗물에 혼자 젖지 않고 두 사람이 함께 젖어드는 것,
미우나 고우나 함께 살아 숨쉬는 것,
그게 사랑입니다.


[고도원의 아침편지]

wit.co.kr (해당게시물로 바로가시려면 여기를 눌려주세요.)
대학교 졸업식때가 생각난다...

참... 많이도 씁쓸했고... 많이도 행복했는뎅...


평소에는 잘 가지고 않던 명수당에 가서 폼도 잡아보고...

우수에 잠긴듯한 표정으로~~~ 냐향향~

어찌하다보니 내 졸업식엔 온 가족이 모이게 되었다. (왼쪽부터 형, 형수님, 어머니, 나 , 아버지)

내 대학생활중에 대부분을 같이 하게 된 원주~

항상 내가 투덜대기만 하는데... 그래두 참 잘 받아주는 넘이다...

언젠가... 언젠가 세월이 오래오래 흐르면, 소주한잔을 따라주며 사과할 날이 오겠지...

아마두 그 날까지는 계속 투덜댈 듯~ @^-^@


또 하나의 잊을 수 없는 친구 민성쓰~

내가 많은 것을 배우기도 한 친구다. 대전에 내려가 있는데... 잘 지내려나???

언젠가는 다시 만날 날이 오겠지... @^-^@


내 좋은 친구들~ 홍태랑 둘이서 찍은 사진이 없넹. 너무 아쉽다~

나를 참 잘 챙겨주는 녀석~ 맘 씀씀이가 좋아서 여자들에게두 인기가 많은 넘이다~

(부러운 넘~)

도윤이랑도 둘이 찍은 사진이 없네...

대학원에 같이 들어와 생활하면서 너무 많은 것을 내게 가르쳐준 형이다~

한번도 형이라고 해본적이 없지만... 모든 것에서 나보다는 형임을 느낀다.

언제나 나보다 더 너그럽고, 더 현명하다...  게다가, 머리두 더 좋다.

하지만 인정하기 싫은 것은 여자친구가 있다는 것이다. 어후!!! 다들 왜이리 부러운고얌...

쫑렬이~

종렬이가 영어를 한글로 변역해 우리에게 주었을 때, 우리가 한글을 다시 한글로 번역하던 일이 생각난다.

ㅋㅋ 가끔 내가 한국어두 갈켜주었다는... ㅋㅋ 요즘엔 졸업해서 얼굴도 못보는뎅...

짜슥, 한번을 안들리는구만... 보구싶은데... 어디선가 잘 지내고 있겠지... 그러겠지...


귀연 나의 여자 후배들~

솔직히 예전엔 많이두 미웠는뎅~ 대학원에 와서 이야기두 많이 하다보니 역시 세상에 미운 사람은 없는것 같다.

그리고, 그 사람의 몇가지 모습만 보고 평가해서도 안되겠당~

최근에 더욱 많이 친해졌는데~ 대화를 많이 할 기회가 별루 없는거 같아서 조금 아쉽다~

나의 오른쪽으로 노래와 나래~

노래와 나래는 후에 날 좋은 선배로 기억해줄까? 언젠가 세월이 오래오래 흘러서 한 번쯤은 그런 이야기를 해보고 싶다~ @^-^@


WLCLab 사람들~

나의 잊을 수 없는 이... 범석이형~

내가 군대를 제대한 뒤 많이 힘들었던 적이 있었다. 그때 너무나 잊을 수 없는 도움도 많이 받았고, 참으로 나를 아껴준 선배...

최근 대학원에 와서 많이 대화도 못해서 너무 아쉽다. 또, 죄송하다. 내가 많이 찾아 가야 하는 건뎅...

형~ 그래도 바람돌이 여기 있다는 걸 잊지 마세요~ @^-^@

제일 오른쪽에 해선이도 보인다~

노래, 나래보다 많은 이야기를 해보지는 못해서 아직은 어떤지는 모르겠다.

어떤 생각을 하고, 어떤 느낌을 가지고 사는지... @^-^@ 언젠가는 곧 알게 되겠지 머~

... 역시 사람은 대화가 중요해~ 대화가~


... 무슨 말이 필요할까? 나의 분신과 같은 친구...

언제나 나의 곁에서 내가 힘들 땐 잊지 않고 도와주는 너무나 고마운 친구다.

중학교 때부터 친구여서 나에대해서 모르는 것도 없고, 나의 장.단점을 모두 아는 친구...

이 날도 다들 바빠서 못와도, 꼭 잊지 않고 와서 도와주는 내 고마운 친구다.

동빨아~~~ 짜슥~ 알지?


이론~ 홍태랑 찍은 사진이 뒤에 있었네~~~

@^-^@ 짜슥~ 내 친구여서 고맙다~


내 대학생활은 참 많이도 힘들었었다... 이것저것 벅찬일들도 많았다...

무엇보다도 내 모든 속마음을 터놓고 이야기 하는 것이 많이 힘들었었다...

... 그때마다 항상 내 곁에서 지루한 이야기, 재미 없는 이야기, 넋두리까지 모두 들어준 친구.

종인이... 내가 많이 잘못도 했는데... 잘 받아주는 넘... 이제 졸업하는데...

종인아!!! 졸업안하면 안되니??? 엉!!!



... 끝이다!!!  ... 아니, 이제 새로운 시작이다!!!

아자아자아자!!!

06.06.08  23:09  시험을 앞둔 채 옛 생각에 미소짓는 바람돌이가






이때는 참 좋았던 것같다.

무얼해도 다 할 수 있을 것 같았고, 자신감이 있었다.

어느새 세월이 흘러 지금의 내 모습이 되었지만,

언젠가 몇 년후가 되면, 지금의 내 모습을 또 그리워 하고 있진 않을까?

@^-^@ 그래. 지금은 잠시 옛날을 그리워 하자.

그리고, 또다시 앞을 바라보자!

* Bubble Sort

마치 거품방울이 뽀글뽀글 올라가는 모양과 비슷하다하여 붙어진 이름이다.
Bubble Sort는 두가지만 알고 있으면 된다.

1. 두가지 값을 비교
2. 두값을 swap함

백문이 불여일견이다.

// Bubble sort
void bubble_sort(int size , int* val)
{
     for (int i = 0 ; i < size - 1; i++)
    {
          for (int j = 0 ; j < size - 1 - i ; j++)
         {
              if (val[j] > val[j+1])
              {
                    int tmp = val[j];
                    val[j] = val[j+1];
                    val[j+1] = tmp;
              } 
         }
   }
}

예로 다음 배열을 Bubble Sort 해보이겠다.
{ 9 , 7 , 3 , 5 , 1 , 7 , 2 }

우선 첫 Loop에서의 모습을 보이겠다.
9 7 3 5 1 7 2
7 9 3 5 1 7 2
7 3 9 5 1 7 2
7 3 5 9 1 7 2
7 3 5 1 9 7 2
7 3 5 1 7 9 2
7 3 5 1 7 2 9

마치 왼쪽이 밑이고 오른쪽이 위라고 생각하면 9라는 값은 마치 거품방울이 올라가듯
뽀글뽀글 올라가는 것이 보인다 @^-^@

다음은 7 값이 올라가게 될것이다.

결국  1 2 3 5 7 7 9 로 정렬이 될 것이다.



* 장점
  1. 알고리즘이 간단하다.
2. 2중 Sorting이 간편하다. 즉, 학번순으로 정렬을 한뒤 같은 학번내에서 이름순의 정렬이
     가능해진다.

* 단점
  1. 성능이 O(n^2)으로 약간 느리다고 할 수 있다.


+ Recent posts