Loading...

boost 설치 하기

boost가 정말 잘 만들어진 라이브러리어서 안 쓸 수가 없다. 가장 기본인 boost 설치하는 방법을 설명 하겠다. 나의 환경: boost version: 2008.6.26. 현재 1.35. site: http://www.boost.org/ compiler: visual studio 2005. os: windows xp 1. boost 사이트로 가서 boost를 down 받는다. http://www.boost.org/users/download/ boost package와 boost jam이 있는데, boost package이 boost library이고 boost jam은 boost를 컴파일 해 주는 utility이다. boost jam은 다운받지 않겠다. 2. boost를 down 받아서 압축을 푼다..

boost.org 에 있는 boost library 목록 정리

출처 : http://aronze.egloos.com/213805 boost.org 에 있는 boost library 목록 정리 * generic 을 옴기는 과정에서 그냥 일반화라고 적었는데요, specialize 와 마찬가지로 template 관련 책을 보시지 않으면 잘 이해가 되지 않을 것입니다. 보통 객체지향 프로그래밍과 대비되는 말로 template 을 사용한 디자인을 일반화 프로그래밍이라고 하며, 일반화로 디자인된 객체를 실제 객체로 매칭시켜서 특화시킨 것을 template specialize 라고 합니다. * stl 도 마찬가지지만 boost 는 고수준의 template 코딩 테크닉이 함축되어 있어 사용 혹은 구현 소스를 보실 때 혼동이 많으실 겁니다. 국내에 관련하여 빨간책 시리즈가 나와 있..

File Memory Mapping - 대용량 파일 입출력 처리 [펌]

파일내용을 그대로 메모리에 올려서 메모리에 올려진 파일내용을 수정하고 수정된 내용을 디스크 파일에 쓴다. 순서는 다음과 같다. - 파일 오픈 hF=CreateFile("test.txt") - 파일 내용을 메모리에 올린다 hMapF=CreateFileMapping(hF) - 메모리에 올려진 첫번째 주소를 얻는다. pF=MapViewOfFile(hMapF) - 첫번째 주소로 메모리 내용을 조작한다. - 중간중간에 변경된 내용을 강제로 디스크에 쓰게만든다. FlushViewOfFile(pF) - 해제. UnmapViewOfFile(pF); - 해제. CloseHandle(hMapF); - 파일 닫기. CloseHandle(hF); #include #include int main(int argc, char **..

Virtual inheritance

몰랐는데.. 이런것도 있었네.. 가상상속이라..ㅎㅎ. 딱히 자주 쓸일은 없겠지만... 참고 : http://blog.naver.com/islove8587?Redirect=Log&logNo=10025033292 http://www.gpgstudy.com/forum/viewtopic.php?t=5750&view=next&sid=6927265a0422861cdce20b963b0d55fc Virtual inheritance From Wikipedia, the free encyclopedia Jump to: navigation, search This article does not cite any references or sources. Please help improve this article by adding ..

vswprintf_s 사용법

사용할때마다 까먹고... 다시 할려고 하면 적잖게 시간을 낭비하게 되서 이번기회에 그냥 함수로 하나 만들어 뒀다. 맨날 까먹어.ㅜㅜ. inline void VirtualPrint(WCHAR* buffer, int sizeLen, WCHAR *fmt, ...) { va_list argptr; int cnt; va_start(argptr, fmt); cnt = vswprintf_s(buffer, sizeLen, fmt, argptr); va_end(argptr); } WCHAR Line[MAX_PATH]; VirtualPrint(Line, MAX_PATH, L"%s %s : %s;\n", "하나", "둘", "셋");

dx10 파이프라인.

먼가..요즘은 dx10으로만 코딩을하다보니..정리를.해줄필요가.있는것같아서. dx10은 고정기능 파이프라인은 지원하지 않고 세이더 파이프라인만 지원한다. 왜? 고정기능을 벗은 파이프라인은 이전보다 더 자유롭게 장치를 제어할 수 있고 융통성이 뛰어나니까. 즉, 이전에는 건들지 못했던 것도 건들수 있게 된게지... 물론 이전에 건들수 있는것들조차 제대로 건들어 보지 못하긴 했지만..ㅜㅜ. 우선 세이더를 간단히 정의 내리면 GPU에 의해 실행되는 간단한 프로그램이라고 생각하면 된다. dx10에서의 파이프 라인은 Input Assembler(IA-입력조립기), VertexShader(VS-정점쉐이더), GeometryShader(GS-기하쉐이더), Rasterizer(RS-래스터화), PixelShader(PS..

템플릿 인자와 템플릿 파라미터

argument 와 parameta... 코드는 "인자를 전달하여 파라미터로 만든다." 떄로는 인자를 실제 파라미터, 파라미터를 형식적 파라미터라고 부르기도 한다. template class ArrayInClass{ public : T array[N]; }; int main() { ArrayInClass ad; } - 템플릿 파라미터는 템플릿 선언이나 정의에서 키워드 template 다음에 나열된 이름들이다. 위의 예에서는 T와 N이 된다. - 템플릿 인자는 템플릿 파라미터의 자리에 대신 들어갈 아이템이다. 위의 예에서는 double와 10이다. 기본적으로 모든 템플릿 인자는 컴파일시에 결정될 수 있는 양이나 값이어야 한다. 템플릿 파라미터는 컴파일할 때 결국 값으로 치환되므로 이들은 컴파일 시 표현식을..

선언과 정의

추가적인 상항으로 선언과 정의에 대해.. 선언 : c++가 그 이름을 c++영역에 도입하거나 재도입 한다는 뜻. 이러한 도입시에는 항상 그 이름의 부분분류가 포함되지만 세부사항이 꼭 필요하진 않다. ex) class c: c를 클래스로 선언 void f(int p); f()를 p라는 파라미터를 갖는 함수로 선언 extern int v; v를 변수로 선언 goto create_fail; 이름을 갖긴 하지만 c++에서 선언으로 간주되지는 않는다. #define DATAPATH "d:" 이름을 갖긴 하지만 c++에서 선언으로 간주되지는 않는다. 위의 예를 보면 매크로와 goto라벨은 이름을 갖긴 하지만 c++에서 선언으로 간주되지는 않는다. 정의 : 그 구조의 세부사항이 알려지거나 변수라면 저장공간이 할당될 ..