본문 바로가기

프로그래밍/C++58

[펌]디버깅 숫자들의 의미 ABABABAB HeapAlloc으로 메모리 할당 후 가드 바이트에 채워진 값 CCCCCCCC 초기화 되지 않은 스택 메모리 CDCDCDCD 메모리 할당 후 초기화 되지 않은 힙 메모리 BAADF00D LocalAlloc(LMEM_FIXED)으로 메모리 할당된 후 초기화 되지 않은 값 FDFDFDFD 할당된 메모리의 전후 가드용 바이트에 채워지는 값 FEEEFEEE 힙 메모리를 해제한 후 채워지는 값 2009. 12. 29.
CPU 사용률 구하기 (How to get CPU usage by performance counters) http://www.codeproject.com/kb/system/cpuusageByDudiAvramov.aspx - 출처 : http://ydongyol.tistory.com/56?srchid=BR1http%3A%2F%2Fydongyol.tistory.com%2F56 2009. 12. 28.
[Tip][VS6.0] 컴파일러를 동시에 여러 개 실행하려면? VC++ 6.0 을 처음 설치하면, 하나의 컴파일러로만 코딩이 가능한데요~ 여러 개의 컴파일러를 동시에 실행할 수 있도록 하여, 동시에 2개 이상의 프로그래밍이 가능하도록 하는 방법입니다^^ // 실행창에 "regedit"를 입력하셔서 실행시키시면, 레지스트리 편집기가 나옵니다. 그 곳에서 HKEY_CLASSES_ROOT\dswfile\shell\&Open with MSDev\ddeexec부분에서 Open("%1")이라고 되어있는 부분을 지워주시면 됩니다^^ ( 0 이나 ""를 입력하는 것이 아니고, 아무것도 없게 비워놓으시고 창을 닫으시면 됩니다 ) 서버/클라이언트를 개발할 때와 같이 VC를 여러 개 실행시켰으면 할 때 아주 유용합니다^^ 2009. 12. 16.
VC++ 6.0과 함께 사용하는데 유용한 프로그램.. Visual C++ 6.0을 여전히 애용중이라면, 아래와 같은 프로그램들을 같이 사용하면 정말 좋다.. 개중엔 공짜도 있고, 돈주고 사야하는 것도 있고, 아주 비싼 것도 있고, 말 안해도 당연히 대부분의 사람들이 사용중인 것도 있다.. WndTabs (http://www.wndtabs.com) 뉴스그룹에서 조동호님을 통해 알게된 공개용 프로그램.. 소스까지 공개가 되어 있으니 심심하면 함 까보는 것도 좋을 것 같다.. VC++ 6.0의 에디터창에 울트라에디터처럼 탭을 붙여주는 에드인이다.. 단점으로는 래쇼날 로즈와 함께 사용할때 이넘 때문에 VC++이 죽는 경우가 있다.. 수십개의 창을 열어두고 사용하는 사람들에게는 불편할 수도 있지만, 나는 항상 에디트 창은 4~5개만 유지하며 열어놓고 사용하는 편이라.. 2009. 12. 14.
Visual c++ 여러가지 팁 [퍼옴] * Ctrl+F3 : 현재 커서가 있는 위치의 단어가 나오는 다음 위치를 찾아줍니다. Ctrl+Shift+F3을 누르면 이전 걸 찾아주죠. * Ctrl+H : replace입니다. 특히 일정부분안의 변수 이름을 변경하거나 할 때 범위를 선택한 다음에 Ctrl+H를 누르면 편하죠. * Ctrl+], Ctrl+E : 괄호 짝을 맞춰줍니다. {위에서 누르면 짝이 맞는 }를 찾아주지요. * Ctrl+L : 한줄을 잘라냅니다. -> 클립보드로 * Ctrl+Shift+L : 한줄을 지웁니다. * Ctrl+J, K : #ifdef ... #endif 쌍을 찾는데 사용합니다. * 그외 Ctrl을 누르고 커서나 Delete, Backspace를 누르면 단어 단위로 동작을 하게 됩니다. * Alt+F8 : 인덴트 정리. .. 2009. 12. 3.
[c++] 컴파일시 주소지정에 대한 생각 struct Nyaonge { BYTE bitAddr1:1; BYTE bitAddr:2; BYTE bitAddr:3; BYTE bitAddr:4; WORD byteAddr1:14; } 위와 같이 구조체를 선언하였다면 bitAddr1 -> 8비트(1바이트가 되겠지)의 주소중 1비트만 사용 bitAddr2 -> 2비트만 사용 bitAddr3 -> 3비트만 사용 bitAddr4 -> 4비트만 사용 byteAddr1 -> 14비트 사용 따라서 주소가 지정되는 과정은... bitAddr1 bitAddr2 bitAddr2 bitAddr3 bitAddr3 bitAddr3 bitAddr4 bitAddr4 bitAddr4 bitAddr4 쓰레기 쓰레기 쓰레기 쓰레기 쓰레기 쓰레기 byteAddr1 byteAddr1 by.. 2009. 12. 3.
전처리기에 대하여 컴파일러는 사용자가 작성한 코드를 컴파일하기에 앞서 전처리문에서 정의해 놓은 문장들을 먼저 처리한다. 종류로는 #include, #define, #if, #error, #line, #pragma 등이 있다. 이것은 방대한 소스 코드를 지우지 않고 활성화와 비활성화하는 데에 가장 많이 이용된다. 즉, 기존에 있는 소스 코드를 건드리지 않고 부분적인 컴파일을 하는 것이다. 어떤 C 컴파일러는 전처리문의 첫 문자 #이 항상 그 라인의 첫 문자이어야 한다. ANSI 표준에 따른 C의 전처리문의 종류 - 파일 처리를 위한 전처리문 : #include - 형태 정의를 위한 전처리문 : #define, #undef - 조건 처리를 위한 전처리문 : #if, #elif, #ifdef, #elif defined(), #.. 2009. 12. 2.
[c++] DLL 연결 및 사용방법 지금 하려는 이야기는 DLL을 완성하고 난 다음부터의 이야기이다. [DLL의 개념] 우선 기본적인 개념정리는 DLL은 Dynamic Link Library 이다. 즉 혼자 독립적으로 존재하다가 프로그램이 실행될 때 동적으로 링크되어 사용되기때문에 동적 링크 라이브러리인것이다. 반대로 정적링크 라이브러리(Static Link Library)도 존재 한다. 예를 들면 strlen()이라는 함수나 그 외에 정의하지도 않았는데 사용하는 것들이다. 이런것들은 시작시 항시 참조 되는 라이브러리이기 때문에 정적 링크 라이브러리라고 불르는것이다. 동적 링크 라이브러리의 장점은 1. 메모리와 하드디스크를 절약할 수 있다. 2. 프로그램 실행 속도가 빨라질 수 있다. 3. 프로그램이 모듈화 된다. [DLL의 종류] 1. .. 2009. 12. 2.
구조체(struct)와 공용체(union) 그림을 보면 알 수 있듯이... 공용체(union)을 사용하는 이유는... 단순메모리절약때문이다. 공용체를 사용하면서까지 메모리를 절약하다보면 Bit까지도 내려갈 수 있다. 1Byte이하의 기억공간을 선언하여 사용하고 싶을 때는 요 기호 => : 를 사용 하면 된다. ex) BYTE a : 1 -> 1Bit의 공간만 사용 BYTE b : 7 -> 7Bit의 공간만 사용 따라서 다음과 같은 선언도 가능하다. WORD c : 12 ->12Bit의 공간만 사용 2009. 12. 2.