반응형

분류 전체보기 220

C/C++ 관련 유용한 글 링크 및 소개

가변인자 포워딩 시키기(http://www.jiniya.net/tt/599) int realsum(int count, ...) { // 인자들의 합을 구하는 작업들 return sum; } int mysum(int count, ...) { return realsum(count, ...); } 위의 코드와 같이 ...으로 표현되는 가변인자를 받아서 다른 가변인자 함수를 호출하는 코드가 나와 있습니다. 어셈블리까지 들어간 코드라서 추천하고 싶지도 구지 내용을 다 이해할 필요는 없는 듯 보이지만 필요할 때 Copy&Paste하면 요긴하게 사용할 수 있을 듯 보입니다.

[링크] 하드웨어 성능 벤치마크 차트

여기 링크에서 소개하는 하드웨어 사이트는 하드웨어 성능을 벤치마크 하는 사이트 들입니다. 이 사이트들은 상세하게 하드웨어의 특성을 설명하기 보다는 벤치마크 혹은 많이쓰는 일반 프로그램을 사용하여 벤치마크한 수치데이터 차트를 제공하는 사이트 입니다. 하드웨어 성능의 수치적 상대성과 시장에서의 가격차를 계산하여 합리적으로 구매할 때 사용하시면 됩니다. 물론, 성능 외적인 부분, 특히 VGA의 화질적인 부분 혹은 HDD의 소음과 같은 부분은 별도로 생각해 주셔야겠죠? tom's hardware (http://www.tomshardware.com/charts/) 전 세계에서 하드웨어의 성능 벤치마크 차트를 가장 빠르고 정확하고 제공하는 사이트 입니다. VGA, CPU, Memory, HDD 등의 차트를 제공하며..

링크 2009.04.12

Boost

http://www.boost.org/ 워낙 유명한 라이브러리라 설명이 필요없을 듯... 몇 년전까지 메타프로그래밍에 관심있을 때 좀 찾아보았던 라이브러리 인데 지금은 새로운 C++ 표준에 까지 영향을 주는 최고의 C++ 라이브러리 중 하나가 되었다. 메타프로그래밍이란 것은 Template의 응용으로 많은 문제를 Run-Time 이전에 Compile-Time에서 해결하거나 Generic하게 구현하는데 초점이 맞추어져 있다. 참고로, Boost 주의자 들이 아무리 이 라이브러리 사용이 직접 구현하는 것보다 낫다고 말해도 떄로는 직접 구현하는 것이 나을 떄가 있다. 역사가 반복된다고 했던가? 10년 전에는 직접 구현보다는 MFC를 사용하자, 뭔 라이브러리를 사용하자 했는데 지나치게 프로그래머가 라이브러리에 ..

float, double network ordering, float, double 타입의 네트워크 순서(오더)에 관하여...

float 타입이나 double 타입의 전송은 네트워크 프로그래밍 관련하여 공부한 몇 권의 책에서 나오지 않는 내용이라 열시미 찾아 보았답니다. 우선 float 나 double 타입에 대해서 기본적인 지식을 알아보면 아래와 같이 인터넷에서 찾은 글이 참이나 설명을 잘해주고 있습니다. Floats and doubles tend (in modern chip architectures) to be represented using an IEEE-standard format; so the commonly defined types *are* "float" (single-precision) and "double" (double-precision). These have precise meanings in the stan..

Direct3D Mesh

Direct3D 함수 중 D3DXCreateSphere(..)와 같이 메쉬를 만드는 함수는 Mesh를 만들지만 Mesh에 텍스처 정보가 없어서 텍스처를 입힐 수 없습니다. 이럴경우 메쉬를 복사한 후에 복사된 메쉬가 가지고 있는 버텍스 정보를 수정하여 텍스처를 입히면 됩니다. 여기서 난점은 텍스처를 수작업으로 입혀주어야 한다는 점입니다. 즉, 수학적으로 계산하여 입혀주어야 합니다. 아래사이트에 D3DXCreateSphere로 만든 구에 텍스처를 입히는 방법이 예제로 나와 있습니다. 참고로 이 텍스처 맵핑은 구를 바탕으로 한것이라 다른 메쉬와 같은 경우, 특이나 정육면체와 같은 경우에는 아래에 나와있는 수학적 공식이 아닌 다른 계산으로 입혀야 합니다. http://www.mvps.org/directx/art..

C++ 흔한 실수

개인적으로 겪은 실수에 대한 로그입니다. 매크로 함수의 이름이 클래스 멤버함수와 같은 이름일 경우의 처리 케이스) numeric_limits::max();와 같이 STL을 이용하여 int의 max형을 얻으려고 했는데 warning C4003...와 같은 에러를 얻었다. 이런 현상이 일어난 이유는 max(..)라는 매크로 함수가 에 정의되어 있기 때문이었다. 즉, 매크로가 전처리단계에서 확장된 후에 컴파일이 되기 때문에 흔히 발생하는 문제이다. 해결책은 2가지가 있다. 1. #define NOMINMAX을 포함 전에 정의하는 방법이 있다. 2. (numeric_limits::max)()와 같이 함수코드를 ()로 감싸는 방법이 있다. 결국, 2번 방법을 선택했는데 이렇게 편한 방법이 있는지도 모르고 그동안은..

C++ 프로그래밍 2009.03.23

DirectInput Mouse 마우스 문제해결

IDirectInputDevice8::Acquire()에서 E_ACCESSDENIED가 리턴될 때... 개인적으로 윈도우가 생성되서 화면에 보이기 전에 호출할 경우 E_ACCESSDENIED에러가 리턴되었다. 이 문제를 해결하여 위하여 초기화 코드 중 Acquire()부분을 ShowWindow( hWnd, SW_SHOWDEFAULT ); UpdateWindow( hWnd ); //이제 윈도우 생성되어서 보임, 이 코드 이 후에 Acquire() 코드를 위치 시킴.. 뒤에 위치시켜서 해결하였다.

M480 문제해결

전화가 잘되다가 모르는세 "서비스불가능지역" 이라고 뜰때... 실제 서비스 불가능 지역이 아니라고 생각되어지는 경우에는 내장치 루트에 있는 pim 파일이 깨진 것이 아닌지 의심해 보아야 한다. pim파일이 깨진 경우 전화번호부 검색을 할 수 없으며, 문자메시지를 보았을 때 정상적인 상황에서 보이던 사람이름이 전화번호로 보인다. 물론 전화를 걸 수 없다. 해결책은 아래와 같은 단계를 수행하면 된다. 1. 내장치 루트에 있는 pim파일을 지운다. 2. active sync로 pc의 outlook과 동기화 한다. (이 과정에서 pim파일은 재생성 된다.) 3. m480을 리셋한다. 4. 정상적으로 전화가 작동하는 것을 확인한다. ps. 본인과 같은 경우 산지 6개월도 안되었는데 2번이나 이와 같은 현상을 겪었다.

기타 2009.03.19
반응형