#define 을 이용해 손쉽게 찍는 방법이다. 길게 말하는것 보다 한줄의 코드가 더 마음에 와닫듯이 코드를 보여 준다.파악하고 사용 하면 요기나게 쓸것 같다. http://msdn.microsoft.com/en-us/library/ms177415(VS.80).aspx 소스 발취 // variadic_macros.cpp #include #define EMPTY #define CHECK1(x, ...) if (!(x)) { printf(__VA_ARGS__); } #define CHECK2(x, ...) if ((x)) { printf(__VA_ARGS__); } #define CHECK3(...) { printf(__VA_ARGS__); } #define MACRO(s, ...) printf(s, __V..
연구실 검색 결과
babo_ptr은 내가 실험삼아 만드는 스마트 포인터 이다. 메모리 릭 테스트도 다 끝냈다. 이 상태에서 .. 두 스마트 포인터의 비교... 우선 shared_ptr을 조금 밖에 분석을 못했는데, 1. 쓰레드 동기화 기법도 들어갔다. 2. shared_ptr 8바이트, count 용 8바이트 3. 기본적인 예외처리 되어 있음 babo_ptr 은.. 1. 쓰레드 동기화를 뺏다. 2. babo_ptr은 8바이트, 중 count 용 4바이트 를 소모 한다. 3. 예외처리 안되어 있음;; 이렇게 만들었다. .. 생성 시간 비교에선 babo_ptr이 약간 빠르다. 이건 당연할듯 4바이트 적게 생성하니까.. 문제는 .. 소멸할 때, babo_ptr은 약 10초라면 shared_ptr은 5초이다. 도저히 이해가 가지..
어디서 부터 정리를 해야 할지 모르겠다~ 중구남방식으로 정리를 하자면 1. 윈속에는 블로킹과 넌블로킹 두가지 소켓 모드가 있다. 2. Windows 플랫폼은 기본적으로 블록킹과 넌블록킹 모드의 소켓을 지원하지만, 지원되는 기술은 Windows NT 이하에선 .. IOCP 를 사용 할수 없다. 3. 블록킹 모드란, 윈속 API 호출이 되는 얼마간의 시간동안 블록 되는것을 뜻한다. 4. 블로킹 모드와 넌블록킹 모두에는 각기 장단점이 있다. 바로 데이터 송수신하는 순서를 관리 안하느냐와 관리하는냐이다. 5. 서버는 넌블로킹 모드로 개발을 해야 하는데, 윈속에선 가장 쓰기 편하고, 가장 성능이 좋은것이 IOCP 이다. 6. Completion Port 에 소켓을 지정하고 나면 소켓 핸들에 대하여 I/O 요청 완..
정점으로 폴라곤을 그리는 방법에 대해서 배우는 장이다. 용어에 대해서는 1장에서 했으니 넘기고.. 정점을 뿌리기 위해서는 그래픽카드가 인지해야 하는데, 인지하기 위해서는 특정 함수로 그래픽카드 메모리(또는 시스템메모리)에 공간을 확보하는 작업을 해야 한다. 확보한 공간을 정점 버퍼 또는 버텍스 버퍼 라 불리는데, 이제부터 버텍스 버퍼라 부르겠다. 버텍스 버퍼를 갖기 위해서는 정점 포맷을 결정해야 하는데, FVF(사용자 정의 정점 형식)을 이용하라고 DirectX는 권고하고 있다. 이것에 맞추지 않으면 전기적 쇼크가 뇌리에도 미치게 되니 자세히 알아야 할것이라고 책은 설명한다. 버텍스 버퍼를 만들면, 해당 버텍스 버퍼를 사용할 객체에 대한 포인터를 가져올수 있다. 이 객체는 인터페이스 객체로, 해당 버텍스..
Direct3D 객체를 생성해 이것으로 디바이스(Device) 생성하는 방법을 코드로써 알려 준다. 여기서 짚고 넘어가야 할 부분은 바로 Direct3D 객체와 Device 객체를 먼저 알아야 한다. DirectX 가 버전이 있다는것을 다들 알고 있다. 사용하기 불편했다고 하던 1~7 씨리즈 가장 많이 변했다고 하던 8 씨리즈, 그리고 현재 가장 많이 사용하며, 우리가 공부해야 할 9 씨리즈, 그리고 앞으로 사용 한다고 하는 10 씨리즈, 이때 Direct3D 객채는 윈속 로드와 비슷한 개념으로 생각된다(개인적으로 이렇게 본다). 도움말에선 "Direct3D 능력을 열거 및 얻어온다" 라고 설명되어 있다. 이 객체를 선언하는 방법은 없고, 특정 함수로 로드해 포인터를 뱉어내는 함수를 이용하는 방법이 있다..
01 개요 : 따라해 보기 예제에 대한 간단한 흝어보기 음.. 이 부분은 DirectX SDK 를 설치하면, 확인할수 있는데 나의 경우 "C:\Program Files\Microsoft DirectX SDK (June 2008)\Samples\C++\Direct3D\Tutorials" 이곳에 있다. 이 Tutorials 폴더에 있는 예제 목록들은 각 단계별로 DirectX의 사용법에 대한 소스코드로 이것을 보면서 익혀보자는 것이다. 2장 2챕터 부터 차근 차근 하니 이정도만 정리 하고 넘긴다.
최근댓글