C++ 3

[DEV] CRT 라이브러리 사용하여 메모리누수 찾기

1) 개요 메모리 누수 문제는 C++앱에서 가장 감지하기 어려운 이슈 중 하나로, 이전에 할당했던 메모리를 해제하지 않으면 메모리 누수가 발생한다. 이러한 문제를 감지하기 위해 CRT 라이브러리에 대해 알아보았다. 메모리 누수 감지 기능을 사용하기 위해서 다음과 같이 선언되어야 한다.메모리 누수 문제는 C++앱에서 가장 감지하기 어려운 이슈 중 하나로, 이전에 할당했던 메모리를 해제하지 않으면 메모리 누수가 발생한다. 이러한 문제를 감지하기 위해 CRT 라이브러리에 대해 알아보았다. 메모리 누수 감지 기능을 사용하기 위해서 다음과 같이 선언되어야 한다. #define _CRTDBG_MAP_ALLOC #include 을 포함하면 malloc과 free가 디버그 버전 _malloc_dbg, _free_dbg..

Development. 2023.08.29

[DEV] Google Test

Google Test의 개념과 활용방안에 대해 알아보고 테스트 문법을 알아보도록 하자. 1) Google Test란? Google Test는 C/C++ 테스트를 위한 구글에서 제공하는 프레임워크이다. SW를 개발하고 검증할 때 필요한 유닛 테스트를 구현하려면 실제 SW가 돌아가는 환경과 다른 환경에서 테스트 해야 할 필요가 있을 때가 있다. 예를 들면 HW가 준비되지 않았거나, 리소스가 충분히 준비되지 않았을 때 테스트 환경을 구성하는데 많은 시간과 비용이 든다. 따라서, 호스트 PC 또는 서버 환경에서 실제와 비슷하게 동작하도록 하는 테스트 환경이 필요하고, 이러한 테스트 수단을 제공하는 것이 Google Test이다. Google Test 프레임워크를 사용해서 SW 개발에 대한 검증을 쉽고 빠르게 진..

Development. 2023.08.28

[C++] STL(Standard Template Library) 이란?

STL이란? STL(Standard Template Library)란 표준 C++ 라이브러리로서, 프로그래밍에 필요한 자료 구조와 알고리즘을 Template로 제공하는 라이브러리를 말한다. STL의 구성 요소 STL은 아래와 같이 4가지의 구성 요소를 제공한다. Algorithm - 정렬, 연산, 삭제, 검색 등을 지원하는 함수 템플릿 Container - 데이터를 저장하는 객체를 제공, 클래스 템플릿으로 제공한다. - Container는 크게 Sequence container, Assiociative container로 구분 된다. - Sequence container : array, vector, list, deque - Associative container : set, multiset, map, ..

Development./C++ 2020.07.26