본문 바로가기

C2

메모리 누수없는 코드 만들기 C, C++ Visual Studio 에서 개발할 경우 메모리 누수를 확인할려면 디버그 모드에서 F5 (Ctrl+F5 아님) 로 프로그램을 실행하면 되는건 아시죠? 이때 C++ 의 경우는 new 를 사용하고 메모리 반환을 하지 않는경우 해당 위치를 output 창에 보여줍니다. 예를 들어 아래의 코드로 메모리 할당후 어디에서도 반환하지 않았다고 가정해봅시다. char *pszTest = new char[100] ; F5 로 프로그램 실행후 종료하면 Debug 출력창에 아래와 같이 나옵니다. Detected memory leaks! Dumping objects -> D:\Project\MemoryTest.cpp(60) : {73} normal block at 0x00374E58, 100 bytes long. Data:.. 2011. 6. 23.
SIGNAL 시그널 처리 21. 시그널 처리 시그널(앞으로 신호라 해석하지 않고 시그널이라고 하겠습니다. 그것이 더 좋을 것 같아서)은 프로세스에게 배달된 소프트웨어 인터럽트이다. 운영체제는 실행하고 있는 프로그램에 예외적인 상황을 보고하기 위해서 시그널을 사용한다. 어떤 시그널들은 유용하지 않은 메모리 주소를 참조하는것과 같은 에러를 보고하고; 다른 것은 전화선의 단절과 같은, 비동기적 사건을 보고한다. GNU C 라이브러리는 각각의 특정한 사건들의 종류에 따라, 다양한 시그널의 형태를 정의한다. 사건들의 어떤 종류들은 보통 프로그램의 계속된 진행을권장할 수 없거나 불가능하게 하고, 그에 해당하는 시그널들은 보통 그 프로그램을 중지시킨다. , 유해하지 않은 사건들을 보고한 다른 종류의 시그널들은 보통 무시된다. 만일 당신이 시.. 2011. 1. 26.