Devlopment/C,C++,Ruby,Python

    [VC++] Google C++ Style Guide

    http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml Java를 좋아하긴 하지만 C++은 무시할 수 없지.

    [VC++] HEAP CORRUPTION DETECTED 에러 해결

    힙 메모리를 침범해서 나는 것이었는데 메모리를 해제할 때 자꾸 발생했다. 문제점을 찾다보니 선언부에 문제가 있었다. char*를 malloc 할 때 실제 사용하는 부분에다가 공백문자를 +1을 해주어야 하는데 깜빡했다가 나는 문제였다.

    [VC++] 마우스 휠 클릭 처리

    마우스 휠 스크롤에 관한 처리 : WM_MOUSEWHEEL 마우스 휠 클릭 : WM_MBUTTONCLICK 다른 글에서 MBUTTON은 휠하고는 별개라는 글을 보았고 나도 그렇게 알고 있었는데 2008에서 처리를 하다보니 잘 처리되어진다.

    [VC++] 더블 링크드 리스트

    /* * Author : Chang-Hwan Han * Date : 2010. * Description : double linked list */ #include "stdio.h" #include "stdlib.h" #include "string.h" typedef struct node { char* szName; struct node* prevNode; struct node* nextNode; }Node; Node* __insertNode(Node *pNode); Node* __deleteNode(Node *pNode); void __printNode(Node *pNode); void __freeNode(Node *pNode); void __freeNodeAll(Node *pNode); void mai..

    [VC++] 이중 포인터에 이차원 배열 형태의 문자열 할당하기.

    /* * Author : Chang-Hwan Han * Date : 2010.10.26 * Description : using a double pointer instead of an two-D array */ #include "stdio.h" #include "stdlib.h" #include "string.h" void __printVar_pointer(char **pszVar, int nMaxCount); void __printVar_array(char (*pszVar)[20], int nMaxCount); void main() { int nCount = 3, i =0; char **szPointer = NULL; char szArray[3][20] = {"pointer", "array", "stac..

    [VC++] 구조체 패킹과 패딩 비트

    구조체 패킹 및 패딩 비트에 대해서 잠깐 애기하려고 한다. VC6에서 테스트를 해보았고, 2005버전 이하는 4바이트 패킹을 하고 2008부터는 8바이트 패킹을 한다고 들었는데 VC6에서 무조건 4바이트 패킹을 하지 않았다. struct var { char a; }; 이 구조체의 크기는 얼마일까? 1Byte이다. struct var { char a[2]; char b; }; 이 구조체의 크기는 얼마일까? 3Byte이다. struct var { short a; char b; }; 이 구조체의 크기는 얼마일까? 4Byte이다. struct var { int a; char b; }; 이 구조체의 크기는 얼마일까? 8Byte이다. struct var { double a; char b; }; 이 구조체의 크기는 ..

    [VC++] 'symbol' 외부 기호(참조 위치: 'function' 함수)에서 확인하지 못했습니다.

    VC 2008에서 컴파일을 하다가 갑자기 이상한 에러가 나타났다. 'symbol' 외부 기호(참조 위치: 'function' 함수)에서 확인하지 못했습니다. 갑자기 무슨 에러일까하고 찾아보았더니 이런 저런 이유가 나왔지만, 나하고 맞는 해결책이 없는듯했다. 그리고 내 해결책은 프로그램을 종료했다가 다시 켜서 컴파일 하는 것이였고 에러는 사라졌다. * Reference http://www.evilskel.com/178 http://msdn.microsoft.com/ko-kr/library/799kze2z(VS.80).aspx

    [VC++] vcvars32.bat 및 nmake.exe파일 위치

    역시 VC++은 사람 짜증나게 하는데 일가견이 있다. Win7에서 파일 검색이 자꾸 이상하게 되서 없는지 알고 한참을 삽질을 했다. vcvars32.bat 및 nmake.exe파일은 Visual Studio가 설치될 때 같이 설치된다. VisualStudio 6에서 vcvars32.bat, nmake.exe위치 C:\Program Files\Microsoft Visual Studio\VC98\Bin; VisualStudio 2008에서 vcvars32.bat, nmake.exe위치 C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools; C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin;

    [VC++] Visual Studio 6에서 include 경로 추가

    fatal error C1083: Cannot open include file: 라는 에러가 때때로 나곤 한다. 헤더 파일을 찾을 수 없을 때 나는 에러인데 보통 헤더 경로가 제대로 지정되지 않았거나 헤더 파일을 정말로 없을 때 난다. 그런데 Visaul Studio 6에서 이 include 경로를 추가해주는 것을 한참을 찾았다. 찾고 보니 내가 왜 못 찾았지라는 의문이 들었다; 프로젝트에 추가 [Project] -> [Settings..] -> [C/C++] -> Category : Preprocessor -> Additional include directories : 에 추가 자체 Visual Studio에 추가 [Tools] -> [Directories] -> Show directories for:..

    [VC++] CString -> char 변환

    CString을 char로 변환하는 방법이다. 유니코드 프로젝트 wchar_t szChar[16]; CString strString; strString = "test"; _tcscpy_s(szChar, 16, strString.GetBuffer() ); 멀티바이트 프로젝트 char szChar[16]; CString strString; strString = "test"; strcpy_s(szChar, 16, CW2A(strString) );