본문 바로가기

프로그래밍

autoexp.dat For Gamebryo 2.3 흥미있는 주제를 찾게 되어서 올립니다. visual studio 디버깅을 화려하게 - autoexp.dat Visual Studio 2005 - autoexp.dat VS Tool로 디버깅할 때, 디버깅 창에 해당 클래스의 내용을 사용자의 입맛에 맞게 보여주는 그런 툴입니다. 이걸 이용하면 어쩔수 없이 써야했던 NiTObjectArray와 같은 게임브리오 전용 컨테이너를 마치 배열처럼 깔끔하게 볼 수 있도록 해줍니다. 제가 임의로 고친 autoexp.dat를 첨부합니다. 이 파일을 아래 위치에 덮어써주시면 바로 이용 가능합니다. %VS80COMNTOOLS%..\Packages\Debugger\autoexp.dat ;--------------------------------------------------.. 더보기
STL에 대한 단상 J.Strane님의 포스팅에 대한 답변입니다. 잘 읽었습니다. ^^ 꽤 공감합니다. 저도 스누씨에서 안융기 형과 이런 내용에 대해서 논의를 해봤기 때문에 STL이 가지는 의미를 한 번 되새김질할 수 있었죠. http://www.snucse.org/bbs/bbs_view.asp?id=91489&name=02 에서 그 내용에 대해 다뤄보았습니다. (이 때는 stream에 대한 내용이었습니다만, STL로 번졌습니다.) 전 STL에서 가장 높게 치는 가치는 이것입니다. - C++ 표준에 포함되어있고, 컴파일러 배포시 자동으로 함께 배포됩니다. - STL Algorithm은 자신이 컨테이너에서 행할 내용을 명확히 전달합니다. C++ 표준이기에 많은 사람들이 배우고 알고 있을 가능성이 큽니다. STL은 잘 알고 쓰.. 더보기
C++ 기본 문제 By Choo 얼마나 아시겠나요 ? 후후후. GameHi Myskit 팀의 컴공 99 김연추 씨께서 출제한 문제입니다. 다 알겠으면 당신의 내공을 자랑하셔도 될겁니다. !! =-=-= // (l-value & r-value) & operator & operator overloading //postfix increment operator 와 prefix increent operator 에는 근본적인 차이가 있다. { inti = 0; printf(“%d\n” , i++);//1 i++++;//2 ++++i;//3 }; 1. 1에서의 진행과정을 자세히 설명해보라. i는 printf 가 호출된 이후 증가 하는가 아니면 printf가 호출 되기 전에 증가하는가? 2. l-value 와 r-value 는 무엇인가? 3. 2과 .. 더보기
임시변수의 범위는 어디까지일까요 시작하기 전에 밑의 설명에 다음의 클래스가 항상 정의되어 있다고 가정합니다. int g_i = 0; struct Foo { Foo() : i( ++g_i ) { cout 더보기
Animation with DirectX - 1. Skeletal Animation 1. Skeletal Animation DXUT를 이용하여 그래픽스를 공부하다보면 다른 내용은 수월하게 넘어가는 편이지만 의외로 애니메이션만큼은 내용도 난해하고 이해하기가 어렵습니다. 다른 예제는 그저 예제따라 변수 설정 몇 개 해주고 스테이트 설정하거나 함수를 인자에 맞게 돌려주면 구동되는 반면에 애니메이션만큼은 추상 클래스부터 구체화 시킨 뒤에 또 별별 세팅을 다 해줘야하는데 그 참조할만한 문헌은 이해도 잘 안 되고 난해하기까지 합니다. ( 물론 봤더니 이해할만하더라 하시는 분은 가볍게 넘겨주시면 되겠습니다. ) 결국 DirectX Sample에 있는 SkinnedMesh를 이해하는 데 거의 한 달 가까이 걸렸습니다. 그래서 다른 분들은 이 삽질을 피해갈 수 있었으면 하는 바, 간단하게나마 이론적 배.. 더보기
ANSI와 UTF-8과의 상호 변환 ANSI에 대해 http://ko.wikipedia.org/wiki/EUC-KR 위의 링크 내용을 요약하면 CP949 = 현대 한글 + EUC-KR EUC_KR = KS X 1001 + KS X 1003 KS X 1001 = 한글 및 한자 모음 KS X 1003 = ASCII + '\(원 문자)' 정도 되겠음다. 유니코드에 대해http://b.mytears.org/2005/01/101 Unicode는 기본적으로 Byte order mark 후에 해당하는 글자들이 나오게됩니다. 즉 UTF-8의 경우( 아래 표 참조 ) EF BB BF EA B0 80 EA B0 80 이렇게 적혀 있으면 가가 라고 보이게 됩니다. 단, UTF-8에 한해서 Byte order mark가 없어도 상관없습니다. Encoding U.. 더보기
TRAC Review TRAC ReviewTrac은 웹기반으로 소프트웨어 프로젝트를 관리하는 최소한의 접근방법입니다. Trac의 목표는 소프트웨어의 문제점, 개선책 그리고 전체 진행과정을 효과적으로 추적하고 다루는 간단한 방법을 제공하는 것입니다.Trac의 모든 부분은 기존에 팀에서 사용되던 절차와 문화에서 최대한 벗어나지 않으면서 개발자가 좋은 소프트웨어를 작성하도록 돕는다는 하나의 목표를 가지고 디자인 되었습니다.Trac을 설치하고 관리하는 법보다 Trac을 보다 유용하게 사용하는 법에 대해서 기술하였습니다.트랙은 크게 세 가지의 유용한 기능을 제공하고 있습니다.트랙은 기본적으로 위키입니다. 위키가 제공하는 기능( 예: 페이지 작성, 하이퍼링크, 히스토리, 검색 )을 모두 제공합니다.트랙은 서브버전( Subversion .. 더보기
스트림에서 스트림으로 전송하기 이 글을 읽기 전에 다음 글들을 읽기를 권장합니다. 한 스트림을 다른 스트림으로 연결하기 스트림에서 이진 파일 다루기 스트림에서 STL 사용하기 이번 글에서는 이전과는 색다르게 문제풀이 방식으로 진행해 보겠습니다. 한 스트림으로부터 다른 스트림으로 내용을 전달하는 방법을 여러가지 소개하는 데에는 역시 예시문이 좋을 것 같아 이렇게 편집해보았습니다. 그럼 질문 스타트 ! 스트림에서 스트림으로의 복사 한 파일이 존재한다고 합시다. 있는 내용을 그대로 복사해서 다른 파일로 복사한다고 해보죠. 어떻게 짜겠습니까 ? void foo() { FILE *pIn = fopen( "in.txt", "rb" ); FILE *pOut = fopen( "out.txt", "wb" ); char buffer[1024] = { .. 더보기
스트림에서 STL 사용하기 이 글을 읽기 전에 다음 글들을 읽기를 권장합니다. 한 스트림을 다른 스트림으로 연결하기 스트림에서 이진 파일 다루기 이번에는 스트림에서 STL을 이용하는 법에 대해서 논해보겠습니다. 원래는 아래 글에 같이 묶으려했으나 글이 길어져 나누어 작성하게 되었군요. 스트림은 상수가 될 수 없다. 간단한 이야기입니다. 스트림은 그 특성상 읽을 떄나 쓸 때나 자신의 형상이 변합니다. 따라서 상수로 정의하면 스트림으로 할 수 있는게 아무 것도 없습니다. 스트림 반복자는 다른 반복자와 달리 컨테이너( 스트림 )의 내용을 바꿉니다. 이는 컨테이너와 스트림을 구분짓는 중요한 요소입니다. 앞으로의 설명에 이 내용을 잘 숙지하시기 바랍니다. 스트림에서 쓸 수 있는 STL 알고리즘은 한정되어 있다. 이 내용은 좀 중요합니다. .. 더보기
스트림에서 이진 파일 다루기 이 글을 읽기 전에 다음 글들을 읽기를 권장합니다. 한 스트림을 다른 스트림으로 연결하기 스트림의 두 가지 용법 스트림은 C의 파일 디스크립터와는 달리 타입에 따른 다른 입력을 제공합니다. 마치 자바에서 스트림으로 객체를 넘기면 toString()함수를 호출해 주듯이, int 형의 정수를 넣으면 자동으로 문자열로 변환하여 넣어주고 클래스와 스트림의 변환(Shift) 연산을 구현해주면 클래스 자체도 스트림으로 넘기고 받을 수 있게 해주죠. 위와 같은 기능을 서식화 입출력 기능( formatted I/O operation )이라고 합니다. 사용자의 타입을 항상 확인한 뒤에 그 타입을 스트림에 걸맞는 타입으로 변환하는 작업을 항상 진행해줍니다. 하지만 가끔은 문자의 그 자체를 이용하고 싶을 때가 있습니다. 예.. 더보기