2010년 7월에 노트북을 구매하고 내장되어 있던 Western Digital 사의 500GB 5400RPM을 사용하다가 너무너무 느려지는 노트북을 보고 SSD를 구매하게 되었다. SSD는 SSDSAMO에서 공동구매로 저렴하게 구입할 수가 있었다. 모델은 OCZ Vertex2E 120GB 구입한 SSD를 노트북에 꽂고, 기존에 있던 웨스턴디지털의 500GB는 NEXT-252SU라는 외장하드케이스를 구매하여 외장하드로 만들어버렸다. (WD는 5400PRM이라 그런지 전력소모가 적지 않아 5V에 0.5A정도 되는것 같았다. 따로 추가전원을 입력해 주지 않아도 잘 작동한다.) 2010년 6월쯤에 MGTEC의 테란2 500GB를 13만원에 구매했었는데... 윈도우7의 체험지수를 보면 다음과 같다. 기존 WD의 ..
Windows시스템에서 (리눅스는 아닐듯) 유니코드와 MBCS(Multi Byte Character Set)을 지원하기 위해 TCHAR을 사용한다. MS에서 제작한것이라고 생각 일반적으로 tchar.h을 include 한 후 TCHAR을 사용하게 되는데, 이것에 대한 상세 내용을 보면 다음과 같다. 하지만 tchar.h에는 _UNICODE에 대한 정의만 있고, UNICODE에 대한 정의는 안보인다. 못찾는것일수도있고.. UNICODE는 타입에 대한 정의고, _UNICODE는 _txxx 들어간 함수에 대한 정의 이다. typedef char CHAR; typedef wchar_t WCHAR; #define CONST const typedef CHAR* LPSTR; typedef CONST CHAR* LPC..
기존 MinGW의 gcc를 이용한 개발환경구성을 포스팅했었다. http://hyogeun.tistory.com/27 이번엔 gcc를 따로 설치하지 않고, 일반적으로 많이 사용하는 MS visual studio에 포함되어 있는 Visual C++ 컴파일러(cl.exe)를 이용한 컴파일을 알아 보도록 한다. Editplus에서의 셋팅전에 cl.exe 을 사용할 수 있도록 PATH를 지정해줘야 한다. 현재 사용하고 있는 IDE(Integrated Development Environment)는 MS의 Visual Studio 2010이다. Visual studio를 설치하게 되면 시작프로그램 visual studio tools에 전용 명령프롬프트가 설치 된다. 이것은 visual studio 를 사용하기 위해 ..
Win32API에서 HWND은 보통 윈도우 핸들값을 갖고 오기위해 사용된다. 약자도 Handle to a WiNDow 이다. 그리고 HANDLE은 void* type으로 보통 프로세스의 핸들을 저장하기 위해 사용된다. 이 예제는 프로세스의 ID알고 있는 상태에서 현재 윈도우에 띄어져 있는 프로세스의 윈도우핸들을 얻어오는 역할을 한다. // 여기서 알고 있는 프로세스ID는 pi[i].dwProcessId 이다. HWND tempHwnd = FindWindowA(NULL, NULL); ULONG idProc; while(tempHwnd!=NULL){ if(::GetParent(tempHwnd) == NULL){ GetWindowThreadProcessId(tempHwnd, &idProc); if(pi[i]...
완벽한 소스가 아니다. (주)아임구루의 강석민 강사님에게 배운 것을 정리하다가 만 소스. 일단 어셈과 같이 컴파일 하기 위해서는 무료 어셈 컴파일러인 NASM을 설치하고 C:\>nasm -f win32 -o name.obj, name.asm을 실행하여 목적소스로 만든 후 윈도우 컴파일러 (cl.exe)를 통해 같이 링크 해야 한다. 순서를 적자면 C:\>cl name.cpp /c 명령어를 통해 name.obj로 컴파일만 한 뒤 C:\>nasm -f win32 -o name2.obj, name2.asm 를 실행하여 어셈블러를 컴파일 한다 그 다음 윈도우 링커인 link.exe 를 사용하여 링킹을 하게 되면 PE(Portable executable) 포맷이 생긴다. 일반적인 command에서는 path가 설..
#include #include #include #include // 1. 윈도우의 번호를 안다면 해당 윈도우를 조작할 수 있다. #if 0 int main(){ HWND hwnd = FindWindow(0, "계산기"); printf("윈도우 번호 : %x\n", hwnd); getch(); MoveWindow(hwnd, 10, 10, 300, 300, TRUE); getch(); ShowWindow(hwnd, SW_HIDE); getch(); ShowWindow(hwnd, SW_SHOW); getch(); SetMenu(hwnd, 0); getch(); HRGN h = CreateEllipticRgn(0, 0, 300, 300); SetWindowRgn(hwnd, h, TRUE); return 0; ..
처음으로 텍스트를 이진수로 표현한 인코딩방식은 ASCII 코드 이다. 모든 텍스트가 1바이트로 해결이 돼었다. 프로그래밍의 주 무대가 영어권이기 때문에. 이러한 인코딩을 SBCS(single byte character set)이라고 한다. 그러다 점점 Computer science가 확장되고 컴퓨터를 사용하는 나라, 언어가 많아지면서 많은 언어를 1바이트로는 담을 수 없게 되었다. 그래서 나온게 모두 2바이트인 유니코드(Unicode) 하지만 알파벳은 1바이트로 담을 수 있는데 굳이 2바이트로 해야겠느냐.. 라는 것 때문에 알파벳은 1바이트, 다른언어는 2바이트로 인코딩하게 된 방식을 멀티바이트(MultiByte Character Set)라 하여 등장하게 되었다. 하지만 컴퓨터산업이 발전해 메모리 걱정을..
- Total
- Today
- Yesterday