offsetof() : 중첩된! 클래스에서 중첩한! 클래스의 포인터 얻기. Don Box의 Essential COM을 보다가 발견한 묘~한 테크닉. 뭐, 중첩된 클래스의 생성자 등에서 중첩한 클래스의 this 포인터를 인수로 넘겨주어, 이를 멤버 변수로 갖고 있으면 되니깐, 그다지 실무에서 쓰일 일은 없는 듯한 테크닉이다. 하지만 (작긴 하지만) 멤버 변수가 차지할 메모리를 안잡아 먹는다는 점, .. IT_Programming/C · C++ 2008.01.10
[C++/CLI] C++: .NET 프레임워크 프로그래밍을 위한 가장 강력한 언어 참고 : MSDN에 올라온 "C++: The Most Powerful Language for .NET Framework Programming"을 번역한 것입니다. C++: .NET 프레임워크 프로그래밍을 위한 가장 강력한 언어 by Kenny Kerr 요점: Visual C++ 2005에서 새로이 소개되는 C++/CLI 언어의 설계와 원리에 대해 탐구해봅니다. .NET 프로그래밍을 위한 가장 강력한 언어 - C++/CLI - 를.. IT_Programming/C · C++ 2008.01.10
STL list 구조체 사용시 팁 프로그래밍 과제를 하다보니 stl리스트를 사용하게 되었는데, 노드 요소를 구조체로 사용하였을 때 아래와 같은 여러가지 난처한 상황에 처하게 되더군요. MSDN에는 int를 사용한 예제만이 나와있기때문에 처음 stl list를 사용하시는 분들은 오랜시간동안 삽질을 하실것으로 예상되어 이렇게 팁을 적습.. IT_Programming/C · C++ 2007.11.29
CRC 구현 기본원리 원리라기 보다는 간단한 예제부터 함 보자. 아담과 이브가 약속한 값 "1101" ( Generator Polynominal 이다. 이를 다항식으로 표시하면, 이다 -> 최고차가 3이기에 CRC-3 이라고도 할 수 있다. 진짜?) 일 때, 나머지 ( FCS : Frame Check Sequence )와 실제 전송할 비트열을 구해보자 잠깐, 여기서 더하기 빼기는 ca.. IT_Programming/C · C++ 2007.11.26
CRC(Cyclic Redundancy Check) 검사 구현 CRC(Cyclic Redundancy Check) 검사 1957년부터 연구되어 온 순회부호(cyclic code)는 풍부한 대수적 구조 및 단순한 하드웨어 구성 으로 현재 가장 많이 응용되고 있다. 본 고에서는 순회부호의 원리를 응용한 에러 검출 알고리즘인 CRC에 대하여 CRC-32 부호를 중심으로 에러검출 성능을 분석하였다. 에러제어 코딩.. IT_Programming/C · C++ 2007.11.26
[코드보기] strtok 문자열을 parsing하는 ANSI C 함수중에 가장 많이 사용되는 것이 strtok 함수가 아닐까 한다. strtok 함수는 문자열에서 token을 찾아 잘라내는 함수이다. strtok 함수는 자세한 내용은 여러 검색 사이트나 Microsoft MSND Site에서 검색를 통해서 알 수 있다. 여기서는 strtok 함수의 구현된 code에서 2가지 흥미로운 내용.. IT_Programming/C · C++ 2007.11.26
[C] fgets 함수 사용시 문자열 끝에 개행문자 제거 방법 gets 함수와 fgets 함수의 차이점 헤더 파일 : 함수 원형 : char *gets(char *s); char *fgets(char *s, int n, FILE *stream); gets 함수는 Enter 키가 눌려질 때까지 문자열을 입력 받으며 Enter 키가 눌려지기 전에는 Backspace 키를 사용하여 제한된 수정이 가능하다. 입력을 stdin으로 하기 때문에 Enter 키가 입력되면.. IT_Programming/C · C++ 2007.11.25
하드 디스크의 남은 용량 확인하는 API #include <windows.h> #include <stdio.h> int main() { int nDiskCheck; unsigned int nDiskType; char Drive[10]; ULARGE_INTEGER m_lFreeBytesAvailableToCaller; ULARGE_INTEGER m_lTotalNumberOfBytes; ULARGE_INTEGER m_lTotalNumberOfFreeBytes; for (nDiskCheck='C' ; nDiskCheck <= 'Z' ; nDiskCheck++) { wsprintf(Drive, "%c:", nDiskCheck); nDiskType = GetDriveType(Drive); if (nDiskType == DRIV.. IT_Programming/C · C++ 2007.11.22
HOWTO: Visual C++ 어플리케이션에서 메모리 누수 추적하는 방법 이 페이지에서 요약 추가 정보 MFC 가 보고하는 메모리 누수 정보 디버그 버전 메모리 함수 할당번호 MFC 이외의 어플리케이션 콘솔 프로그램에서 누수보고 예제 콘솔 프로그램에서 누수보고 예제 결과 요약 Visual C++ 어플리케이션인 경우 디버그 빌드의 메모리 관련 함수를 사용하면 메모리 누수가 난 .. IT_Programming/C · C++ 2007.08.30
strcpy(), strcat(), strlen(), strcmp() 함수를 직접 만드시오 (포인터연습) ※ strcpy(des, src) => src가 가리키는 문자열을 des가 가리키는 문자열에 복사하는 함수 ※ strcat(str1, str2) => str1이 가리키는 문자배열의 끝에 str2가 가리키는 문자열을 덧붙여주는 함수 ※ strlen(str) => str문자열의 길이를 구하는 함수 ※ strcmp(str1, str2) => 두 문자열이 동일한지를 판단하는 함수 str1,st.. IT_Programming/C · C++ 2007.01.29