본문 바로가기

프로그래밍30

windows 애플리케이션 가상 메모리의 상태를 확인해보자. windows에서 원하는 대상 프로세스의 가상메모리 상태를 알아보는방법.. 프로세스 핸들을 알려면 프로세스 ID 값을 알아야 아래와 같이 핸들을 가져올수 있다. HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwProcessId); http://msdn.microsoft.com/en-us/library/aa366907(v=vs.85).aspx typedef struct _MEMORY_BASIC_INFORMATION { PVOID BaseAddress; //pvAddress 매개변수로 전달한 주소를 페이지 크기 단위로 내림한 값. PVOID AllocationBase; // pvAddress 매개변수로 전달한 수고를 포함하는 영역의 시작 .. 2011. 3. 4.
가상메모리의 상태를 알아보자! 윈도우에서 애플리케이션에서 가상메모리공간의 정보를 가져올수 있는 함수를 제공한다. http://msdn.microsoft.com/en-us/library/aa366589(v=vs.85).aspx BOOL WINAPI GlobalMemoryStatusEx( __inout LPMEMORYSTATUSEX lpBuffer ); 위의 함수는 4GB 이상의 메모리를 체크할수 있는 함수 이며 4GB 까지 커지기 전의 시스템에서 사용하던 함수는 함수이름에서 Ex 를 뺀 GlobalMemoryStatus 함수를 사용였다.. GlobalMemoryStatusEx 함수에는 typedef struct _MEMORYSTATUSEX { DWORD dwLength; DWORD dwMemoryLoad;// 머신의 메모리 사용 퍼센트.. 2011. 3. 3.
운영체제 시스템 정보를 알아보자! 운영체제 시스템 정보를 알아보자! CPU 의 타입, 각 프로세스가 사용가능한 가장 큰 주소값 사용 가능항 CPU 및 코어 개수 메모리 할당에 사용하는 페이지 단위의 사이즈 등등의 기본적인 정보를 가져오는 방법을 살펴보자. winbase.h 에 있는 기능을 사용하자.. 아래와 같은 구조체가 정의 되어있고.. typedef struct _SYSTEM_INFO { union { DWORD dwOemId; // Obsolete field...do not use struct { WORD wProcessorArchitecture;// x86, x64, IA-64 등을 나타냄 WORD wReserved;//사용안함 }; }; //cpu의 페이지 크기 x86과 x64 머신에서는 4096,, IA-64머신은 8192바.. 2011. 3. 3.
stl std::remove의 이해와 활용 stl std::remove의 이해와 활용 std::remove 함수는 #include 안에 포함되어있다. std::remove 함수는 각 컨테이너가 가지고있는 erase함수와 다른 동작을 보여준다. 함수의 원형은 이런 식이다. std::remove( begin, end, val ); // 범위지정... 지울 값. 여기서 착각할수 있는 부분은 std::list 의 remove 함수는 실제로 컨테이너 안에 있는 요소가 삭제가되고 list의 사이즈가 줄어든다.. 예로 std::list listTest; for ( int i=0; i 2011. 2. 18.