http://reality.sgiweb.org/davea/tsearch.c/* Copyright David Anderson 2010. This is free software. Permission hereby granted for anyone to copy or use this code for any purpose without restriction. Attribution may be given or may not, it is your choice. September 8, 2011: The tdelete example code was wrong in that it did not clean up entirely. So was the tsearch example code. Both are now fixed (..
윈도우 프로그래밍을 하다 보면, 가끔 혼동이 오는 부분이 있는데, Visual Basic 스타일의 string과 C 언어 스타일 string의 변환이 바로 그것이다. 사실 이것은 어렵다기 보다는 상세히 기억하기가 어려운 경우라고 할 수 있다. C string은 NULL문자로 끝나는 문자열이다. Visual Basic string은 문자열의 시작부에 문자열의 길이 값을 가지고 있다. 그래서, VB sting은 그 문자열의 길이를 알고 있다. 게다가, 모든 VB string은 Unicode(16bits)이다. String TypesBSTR/C 스트링 변환은 다음과 같은 경우에 필요하다.C/C++로 COM 프로그래밍을 하는 경우다중 언어 프로그래밍을 하는 경우, C++ DLL을 Visual Basic응용에서 ..
Sourcecode injme.cpp#include "injme.h"#include #include #include #include #include using namespace std;int s_FrameNumber = 0; HRESULT D3DX10CreateDevice_Hook ( IDXGIAdapter *pAdapter, D3D10_DRIVER_TYPE DriverType, HMODULE Software, UINT Flags, ID3D10Device **ppDevice){ DXGI_SWAP_CHAIN_DESC swapChainDesc; ZeroMemory(&swapChainDesc, sizeof(swapChainDesc)); swapChainDesc.BufferCount = 2; swapChainD..
http://resources.infosecinstitute.com/api-hooking-detours/API Hooking with Microsoft DetoursIntroductionMicrosoft Detours is a library which we can use to build our own DLL that serves as an API monitor when analyzing the results. The best thing about it is that it doesn’t require other frameworks as a dependency. The downside is that only x86 support is available for free; if we want to get x64..
몇 년전에 잠시 살펴봤는데, 다시 리뷰할 필요가 있어서 살펴보았다. 개발을 중단한줄 알았는데, 아직은 계속하고 있는 듯하다. 자바의 스펙에 Anotation(java5), scripting(Java6)로 가면서 구현이 어려운지(?!)/바쁜지(^^) 현재는 다소 그 반응이 느려진 듯 하다. 다음은 위키피디아의 gcj에 대한 페이지 발췌이다."GCJ(GNU Compiler for Java)는 자바 프로그래밍 언어를 위한 자유 소프트웨어 컴파일러이며 GNU 컴파일러 모음의 일부이기도 하다.GCJ는 자바 소스 코드를 자바 가상 머신 바이트코드로나, 아니면 수많은 CPU 아키텍처를 대상으로 하여 직접 기계어로 컴파일할 수 있다. 또, 바이트코드를 포함하는 클래스 파일이나, 이러한 파일들을 포함하는 완전한 JAR ..
A garbage collector for C and C++Boehm-Demers-Weiser에 의해 개발된 GC이다.C/C++용 가비지 콜렉터로 사용해도 좋고, 메모리 릭 탐지기(leak detector)로 사용해도 무방하다. 지원하는 플랫폼은 Linux, *BSD, recent Windows versions, MacOS X, HP/UX, Solaris, Tru64, Irix 등이며 원하는 사람은 포팅해도 된다. 현재 다양한 프로젝트에서 사용되고 있는데, gcj, w3m, mozilla, mono, dotgnu, eclipse 및 각종 대학의 연구 프로젝트 패키지에서 사용되고 있다. 다음에서 다운로드 가능하다.http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_sour..
UMass대학 Emery Berger교수가 2000년 경에 만든 메모리 할당 도구이다. 대표적인 사용 사례는 다음과 같다. "멀티쓰레드 환경에서, 다중 쓰레드들이 동시에 메모리 할당을 운영체제에게 요구하면, 메모리 할당 관련 시스템 호출에서 쓰레드간에 경쟁이 발생하고, 이로 인해 직렬화가 발생하고, 전체적으로 성능이 많이 떨어지게 된다. " "레가시Legacy) 프로그램에서 사용할 수 있다." (기존 소스 코드의 변경 없이 사용 가능)"멀티 코어/프로세서에서 캐시를 잘못 공유하여 발생할 수 있는 문제를 해결할 수 있다." 등... 과거 내게 좋은 느낌을 주었던 부분은 바이너리 형태의 소프트웨어에 적용 가능하다는 점이었다. 하여간, GC (Garbage Collector)관련하여 서베이하다가 우연히 다시 ..