기본 콘텐츠로 건너뛰기

1월, 2016의 게시물 표시

C++ 소스 정적 분석 도구들

소스 정적 분석 도구 1. PC-Lint (유료) 1.1 PC-Lint/PC-Lint Plus 유료 구매 1.2 Visual Lint(GUI Intergrations) - PC-Lint 별도 구매 필요 1.3 ALOA(A Lint Output Analyzer) - PC-Lint 별도 구매 필요 2. PC-Lint 유사 도구 2.1. CppCheck (OpenSourrce) - http://sourceforge.net/projects/cppcheck/?source=typ_redirect 2.1.1. 참고링크 2.1.1.1 위키 링크  https://en.wikipedia.org/wiki/Cppcheck 2.1.1.2. 설정 참고용 링크  http://del4u.tistory.com/28 2.1.2. CppCheckUi.exe - WindowUI App UI 프로그램도 별도로 있는데, 프로젝트 파일을 make 파일과 c, cpp 소스 파일들만 지원해서 사용하지 않았음. 2.1.3 VS2010 설정 화면 2.1.3.1 메뉴 에서 Tools > External Tools 선택 , 화면에서 “Add” 추가후 아래 항목 입력 Title: CppCheck Command: C:\Program Files\Cppcheck\cppcheck.exe Argument: --enable=* -q --template vs $(ProjectDir) Initial Directory: $(ProjectDir) 2.1.3.2.  참고로 , MSVCP14.DLL 오류가 발생하면 CS2015 재배포패키지가 설치해야 합니다 . 2.1.3.3 CppCheck.exe 파라메터 설명 C:\Program Files\Cppcheck>cppcheck.exe Cppcheck - A tool for static C/C++ code analysis Syntax:     cppcheck [OPTIONS] [fi

C++ 에서 Singleton 형태

C++에서 Singleton 형태(Effective C++에서 참고) // 정의 class Singleton { private: // 외부 이용 제한 (생성과 복사, 삭제 제한이 목적)     Singleton() {}; // 생성자     Singleton(const Singleton& other);  // 복사 생성자     ~Singleton() {}; // 소멸자     //static Singleton* instance; // 내부에서 하나의 값으로 유지하기 위한 변수 public: // 외부 사용 허가     //static Singleton* GetInstance()     //{     //    if(instance == NULL)     //        instance = new Singleton();     //    return instance;     //}     static Singleton* GetInstance()     {         static Singleton ins;         return &ins;     } }; //Singleton* Singleton::instance = nullptr;  // static 정의 대한 클래스 외부 정의 // 사용시 Singleton::GetInstance() // 형태로 이용하거나 Singletone* instance = Singleton::GetInstance(); // 형태로 이용 이것말고도 Singleton 관련하여 추가적인 내용들도 있습니다. PhoenixSingleton, TemplateSingleton 관련해서는 추가로 검색해서 보세요. 링크: http://vallista.tistory.com/entry/1-Singleton-Pattern-in-C