CLion - MISRA rule 체크 활성화 (2020.3 버전) CLion 2020.3 버전이 출시되면서 MISRA C Rule 및 MISRA C++ Rule 체크 기능이 추가 되었다. 해당 버전의 CLion에서 지원하는 MISRA rule은 MISRA C 2012와 MISRA C++ 2008 버전이다. CLion에서 지원하는 MISRA rule들은 다음에서 확인할 수 있다. MISRA checks supported in CLion - CLion - Confluence CLion Welcome CLion default configurations and instructions MISRA checks supported in CLion Skip to end of metadata Go to start of ..
리눅스 프로그래밍 - 프로세스 종료 신호(SIGINT, SIGTERM) 후킹하기 본 글에서는 리눅스 어플리케이션 프로세스의 종료 신호를 후킹하여 원하는 동작을 수행하도록 하는 방법에 대해 소개한다. 보통 루프를 도는 어플리케이션 프로세스의 경우 Ctrl + C를 입력하여 프로세스를 종료하거나(foreground에서 동작하는 경우), kill 명령을 이용하여 프로세스를 종료한다(background에서 동작하는 경우). Ctrl + C를 입력하거나 kill 명령을 이용하여 프로세스를 종료하고자 할 때, 프로세스가 종료되기 전에 특정 동작을 수행할 필요가 있는 경우가 있다. (예: 시스템에 생성해 놓은 공용 자원 해제, 다른 프로세스와의 정보 교환, 디바이스 드라이버의 상태 변경 등) 이 경우, Ctrl + ..
윈도우즈에 임베디드 리눅스 개발환경 구성하기 본 글에서는 윈도우즈 10 Pro에 임베디드 리눅스 개발 환경을 구성하는 방법을 정리한다. 본 글에서 사용된 환경은 다음과 같다. 윈도우즈 10 프로 CLion 설치 및 구성 CLion은 유료이지만 매우 편리하고 강력한 기능을 제공하여 그 비용이 아깝지 않은 개발 툴이다. 연간 구독 형태에다가 비용 또한 꽤 고가임에도 불구하고 개인적으로는 그 돈이 아깝지 않아 계속 사용하고 있다. 다음 사이트에서 설치파일을 다운로드 하여 설치한다. 다운로드 CLion: 스마트한 C/C++용 크로스 플랫폼 IDE 최신 버전 다운로드: CLion (Windows, macOS, Linux) www.jetbrains.com 설치를 진행하면서 일반 테마와 다크테마 중 하나를 선택할 수..
CLion : Toolchain 설정하기 본 글에서는 CLion에 Toolchain을 설정하는 방법을 소개한다. 본 글에서 사용된 환경은 다음과 같다. 윈도우즈 10 프로 CLion 2020.02 CLion은 자체 Toolchain을 포함하고 있지 않으며, 현재 MinGW, Cygwin, Visual Studio와 같은 툴체인이나 WSL, Remote Host에 설치된 툴체인들을 연결하여 사용할 수 있게끔 지원하고 있다. WSL에 설치된 개발환경을 Toolchain으로 연결하기 1. 윈도우즈에 WSL을 설치하고 실행한다. WSL(Windows Subsystem for Linux) 설치하기 WSL(Windows Subsystem for Linux) 설치하기 본 글에서는 WSL(Windows Subsyste..
WSL(Windows Subsystem for Linux) 설치하기 본 글에서는 WSL(Windows Subsystem for Linux)을 설치하는 방법을 소개한다. 본 글에서 사용된 환경은 다음과 같다. 윈도우즈 10 프로 1909 1. DISM 명령어를 실행한다. WSL을 실행할 수 있도록 설정하기 위해 DISM 명령어를 실행한다. 바탕화면 좌측 하단의 윈도우 키를 클릭하여 검색 창에 "명령 프롬프트" 입력 후, 마우스 우측 버튼을 클릭하여 "관리자 권한으로 실행" 메뉴를 실행한다. 실행된 명령 프롬프트 창에서 다음 두 명령어를 입력한다. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /nore..
Visual studio code로 개발 환경 구성하기 본 글에서는 Visual studio code(비주얼 스튜디오 코드)로 개발환경을 구성하는 방법에 대해 소개한다. 참고로 본 글에 소개된 내용들은 현재 본인이 개발 업무를 진행하면서 주로 사용하는 기능들 위주로 작성되어 있다. 본 글에서 사용된 환경은 윈도우 10 프로이다. 1. 공식 홈페이지에서 설치 파일을 다운로드 하여 설치한다. Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studi..
글꼴(폰트) 설치 : 나눔고딕코딩 본 글에서는 윈도우즈 10에서 "나눔고딕코딩" 폰트를 설치하는 방법에 대해 설명한다. 나눔고딕코딩은 국내에서 개발된 코딩 전용 폰트이다. 국내에서 만들어졌기 때문인지 몰라도 개인적으로는 한글 폰트가 매우 마음에 들어 주로 사용하고 있다. 현재 개발 환경으로 CLion과 Visual studio code를 주로 사용하고 있는데, CLion에서는 JetBrains에서 만든 Mono 폰트를 별도로 설치하여 사용하고 있고, Visual studio code에서는 기본 폰트인 Consolas를 사용하고 있다. 하지만 해당 폰트들은 영문 전용 폰트인 관계로 한글 폰트로는 나눔고딕코딩 폰트를 별도로 설치하여 사용하고 있다. 나눔고딕코딩 폰트를 설치하는 방법은 다음과 같다. 1. 깃허..
윈도우즈 10에서 하드디스크 파티션 나누기 본 글에서는 하드디스크의 파티션을 나누는 방법을 설명한다. 본 글에서 사용된 환경은 다음과 같다. 윈도우즈 10 프로 1. 바탕화면 좌측 하단의 "윈도우" 버튼 클릭 후 "디스크 관리" 메뉴를 선택한다. 2. "디스크 관리" 창에서 파티션을 나누고자 하는 디스크 드라이브에서 마우스 우측 버튼을 클릭하여 "볼륨 축소" 메뉴를 선택한다. 다음은 C 드라이브에 대해 볼륨 축소를 진행하는 화면이다. 3. "축소" 창에서 축소할 용량을 입력 후 "축소" 버튼을 클릭한다. 이 때 입력하는 용량은 축소 후 남은 용량이 아니라 빼고자 하는 용량을 의미한다. 4. 축소가 완료되면 기존 디스크 드라이브의 용량은 감소하고, 할당되지 않은 파티션이 새롭게 추가된 것을 확인할 수 있다..
timer_settime() 타이머를 시작하거나 중지한다. 해당 함수의 원형은 다음과 같다. #include int timer_settime(timer_t timerid, int flags, const struct itimerspec *new_value, struct ittimerspec *old_value); timerid로 식별되는 타이머를 시작하거나 중지한다. timerid는 timer_create()를 통해 생성된 timer 식별자이다. 함수 호출자는 타이머 첫 만기 시점 및 반복주기를 new_value에 설정해야 한다. ittimerspec 구조체의 형식은 다음과 같다. struct timespec { time_t tv_sec; // 초값 long tv_nsec; // 나노초값 } struct ..
CLion을 사용하고 있는데 어느 순간 "Find in Path" 메뉴에서 검색이 잘 되지 않는 경우가 발생하였다. 이 경우 "File" → "Invalidate Caches / Restart" 메뉴를 실행하여 해결하였다. 해당 메뉴를 실행하면 CLion이 재실행되고 검색 동작이 다시 정상적으로 동작한다. (또한 꼭 필요한 절차인지는 모르겠으나 CMakeCache.txt를 삭제한 후 "Reload CMake Project" 메뉴를 실행한 후 검색을 진행하였다)
기본 원칙 1. 최소 5년 이상 보유할 기업에만 투자한다. 5~10년 보유한다는 생각으로 투자한다. 5년 이하 단기적 성과를 보고 투자하지 않는다. 테마주에 투자하지 않는다. 2. 보유 마지노선을 정하고 투자한다. 언제까지 어떻게 되지 않으면 매도한다 등. 언제까지는 성장할 것이다 등. 세부 전략 1. 플랫폼을 통해 생태계를 구축한 기업에 투자한다. 플랫폼을 통해 사람들이 돈을 벌게 해 줌으로써 함께 성장하는 생태계를 구축한 기업에 투자한다. 예: 애플 - 개발자 생태계, 아마존 - 이커머스 생태계, 네이버 - 이커머스 생태계 2. 하나 이상의 분야에서 독점적 지위를 누리는 기업에 투자한다. 독점 분야가 많을수록 좋다. (예: 아마존 - 이커머스, 클라우드) 성장하는 분야에서 독점적 지위를 누리는 기업에..
리눅스에 CMake 설치하기 : 3.18.0 버전 본 글에서는 글 작성 시점의 최신 안정 버전인 3.18.0 버전의 cmake를 리눅스에 설치하는 방법을 소개한다. 본 글에서 사용된 리눅스 환경은 다음과 같다. Ubuntu 리눅스 18.04 0. 만약 기존에 apt 명령을 통해 설치된 cmake가 이미 있을 경우 다음 명령으로 제거한다. sudo apt purge cmake 1. 필요한 패키지를 설치한다. $ sudo apt update $ sudo apt install wget build-essential 2. CMake 3.18.0 버전을 다운로드하고 압축을 해제한다. $ wget https://github.com/Kitware/CMake/releases/download/v3.18.0/cmake-3...