기본 콘텐츠로 건너뛰기

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:   ...

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 관련하여...

어셈블러에서 carry flag 역활?( 리멤버! )

한동안 어셈블러 전혀 보질 않았더니, 완전히 잊어버렸다...헐... carry flag(borrow flag) 8 bit(Byte와 Byte), 16bit(Word와 Word간) 연산시 결과를 포함해서 사용 덧셈에서는 Overflow 상태, 뺄셈 연산에서는 Borrow 상태를 표시하고, 이를 다음 연산에 이용하기 위한 상태 플래그  관련 명령은  CLC(CLear Carry)  ADD/ADC(ADd with Carry) SUB(SUBtract)/SBC(SuBtract with Carry) SHL(SHift Left)/SHR(SHift Right) ROL(ROtate Left)/ROR(ROtate Right)

[tip] sublime text, 글자 입력 위치 표시 caret을 눈에 잘 띄게 하자.

sublime 테마도 변경하고, 색상 변경하라고 하는데, 여전히 잘 보이지 않는다. caret_style을 변경에도 차이를 못 느끼겠다. caret의 크기 정확히는 여분의 폭의 변경해서 좀 더 두껍게 보이도록 하고 나니 훨씬 잘 보인다. 1). caret 폭 변경 하기 1.1) preferences > setting - default 에서 아래 부분을 검색해서 찾은 다음, 클립보드에 복사(ctrl + c/cmd + c)     // Valid values are "smooth", "phase", "blink" and "solid".     "caret_style": "smooth",     // These settings control the size of the caret     "caret_extra_top": 0,     "caret_extra_bottom": 0,     "caret_extra_width": 0, 1.2) preferences > setting - user 에서 클립보드 내용을 다음처럼 붙여넣기(ctrl + v / cmd + p)를 수행하여, 값을 변경 (1 ~ 3 사이 값을 추천) 한다. { // 기존에 있어야 하는 것., 없으면 삽입     // Valid values are "smooth", "phase", "blink" and "solid".     "caret_style": "smooth",     // These settings control the size of the caret     "caret_extra_top": 0,     "caret_extra_bot...

[링크] Sublime text / Emmet 에 대한 내용들 정리.

1) Sublime text는 사용하기 편한 텍스트 에디터이다. 1.1) GUI를 사용하지 않는 edlin, vi, bref(?) 등 에디터는 제외하고, 내가 알고 있는 윈도우용 에디터들은 notepad, ultraeditor, editorplus, notepad++ 등 이 있고, 이중에는  ( ultraeditor 같이) 리눅스, 맥 등으로 활동 영역이 넓어지는  에디터들도 존제한다. 1.2). 주변 지인들에게 sublime 에디터가 쓰기 좋다는 말을 들어본적이 있다. 하지만, 구체적으로 왜, 어떻게 좋은지 잘 몰랐다. 질문을 따로 하지도 않았지만, 구체적인 설명이 없었다. 평소에 딱히 맘에 드는 에디터도 없어서 sublime 에디터를 간간히 사용해 오고 있었다. 1.3) 사용을 하다보니 단순한 사용법과 비교적 간단해 보이는 화면 구성이 마음에 들어서 , 이것 또한 장점 이겠지만, "이 정도 기능을 기준으로 하여, sublime이 좋다고 하기에는 부족하지 않은가?" 라는 의문을 내심 가지고 있었다. 1.4) 인상적인 기본 기능중에 "Goto Anything" 기능은 아주 뛰어나다. 폴더, 파일, 항수명, 라인까지 찾아갈수 있다니, 이건 정말 강추다. 이래서 좋다고 하는 거구나 하는 의견에 수긍을 하게 되었다. 1.5) sublime 패키지를 통한 무한한 확장력을 경험하게 되고 나서는 더 더욱 신봉자가 되어가고 있다. 비록, 아직은 내용들을 더 파악해야 하겠지만 1.5.1) sublime text 사용하면서 한번쯤은 알고 있으면 좋을 듯한 내용(emmet 포함) https://opentutorials.org/course/671/3595 2) Emmet - 광속 코딩 도구 2.1) Emmet(html/css 축약 기능 패키지 ?? ) 관련 내용이 정리된 곳이 있어 추가로 참고용으로 첨부합니다. 2.1.1) emmet 관련 내용 정리 잘된 곳. ...

github 안내서 정리

1. github 간편 안내서 (개념 정리/디자인 굿~!) https://rogerdudler.github.io/git-guide/index.ko.html 책이나 다른 것 보시기 전에 먼저 보시기 권합니다. svn 등의 개념을 알고 있으시다면, 요약 정리되어 스크롤하면서 보시면 쉽게 이해가 되더군요. 2. 완전초보를 위한 깃허브 요약 정리 https://nolboo.github.io/blog/2013/10/06/github-for-beginner/ 'github' 구글 검색하면 거의 처음에 표시되는데, 과연 요약된 내용이 알차서,  필요한 기능을 다시 생각해내거나, 정리하기에 좋은 게시물로 생각이 듭니다.