728x90
반응형

코드/C++ 6

libjpeg 사용하기

jpeg format을 손 코드로 해보려다가 포기. 그냥 잘 만들어진 open source를 써야겠다는 생각이 들었다. 그중에서 가장 많이 쓰이는 것으로 보이는 libjpeg를 사용하기로 했다. libjpeg-turbo - Browse /2.1.4 at SourceForge.net Package signatures To ensure the integrity of the libjpeg-turbo binary packages, the RPM and DEB files and the source tarball are signed using the following key: http://www.libjpeg-turbo.org/key/LJT-GPG-KEY http://pool.sks-keyservers.net/pk..

코드/C++ 2022.08.23

[C++] 마우스 이벤트 후킹

Windows에서 후킹을 하기 위해서 제공하는 함수들이 있다. 이것들은 모두 DLL 환경에서 제작되어야 한다. 후킹을 위한 DLL 프로젝트와 테스트를 위한 MFC 프로젝트가 필요하다. DLL 프로젝트 일전에는 후킹을 위한 함수를 만들 때에 모두 전역 변수와 전역 함수를 사용하였지만 관리하기가 쉽지 않았다. 검색하다 보니 싱글톤 클래스 형식으로 정리된 자료가 있어서 해당 방식으로 구현했다. 전역으로 작업하는 것이 간단하기는 하나 클래스 형식으로 하는 것이 관리가 더 편하다. case DLL_PROCESS_ATTACH: if (hook_mouse_callback::instance()->attach(hModule)) cout

코드/C++ 2022.05.11

[C++] XMLLite를 이용한 XML 파일 읽어오기

XML을 읽어오는 방법에는 여러 방법이 있다. 직접 코딩할 수도 있고, tinyXML 같은 오픈 api를 사용해도 된다. 여기서는 Visual Studio에서 제공하는 XMLLite를 이용하여 읽어 오도록 해보자. 우선 XML의 ELEMENT를 저장할 수 있는 구조체를 지정한 후 typedef struct XML_ATTRIBUTE_T { wstring name; wstring value; } XMLATTR; typedef vector XMLATTRV; typedef struct XML_ELEMENT_T { wstring title; XMLATTRV attribute; bool bSubElement; bool bSeperator; vector vElem; XML_ELEMENT_T() { bSubElemen..

코드/C++ 2021.11.08

[C++] 3점을 지나는 외접원의 중심점 구하기

3점을 지나는 원은 통상 삼각형의 외접원(CircumCircle)이라고변의 중심에서 내린 수선이 만나는 지점이다. 이때 넓이는 헤론(Heron)의 공식에 의해서 가 된다. 물론, 가정이 있다. 헤론의 공식으로 넓이를 구하면 사인(Sin) 법칙의 응용으로 외접원의 반지름을 구할 수 있다. 그렇다고 원의 중심을 구할 수 있는 것은 아니다. 결국 원의 중심을 구하기 위해서는 각 변의 중심을 잇는 수선을 구해서 교차점을 구해야 한다. // 외접원의 중심 구하기 double d, d2, yi; Point2D[] CenPoint = new Point2D[2]; for (int i = 0; i < 2; i++) CenPoint[i] = new Point2D(); // 각 변의 중심점 구하기 CenPoint[0].x ..

코드/C++ 2021.04.20
728x90
반응형