Monthly Archives: July 2020

[Vim/Linux] cscope DB 파일 자동 로딩 (Auto-Loading cscope DB File)

예전에 cscope Database (DB) 파일을 생성하는 방법에 대해서 정리하였다 (출처 1참조). 해당 글에서는 cscope Database 파일을 절대 경로(Absolute Path)로 변경하여서 vim에서 로딩하도록 설정하였다. 하지만 절대 경로로 변경하지 않고 현재 위치한 경로 아래에 있는 모든 cscope DB 파일을 자동으로 로딩하는 방법이 있어서 정리하였다. 방법은 아주 간단하다. 아래에 있는 코드를 .vimrc 파일에 추가하면 된다. 보통 .vimrc는 /home/USER_NAME/.vimrc에서… Read More »

[Linux] Vim 여러줄에 동일한 글자 입력하기 (Same Characters on Multiple Lines)

Vim을 사용하면서 여러 줄에 동일한 글자를 입력해야 하는 경우가 빈번히 발생한다. 특히 주석처리 하는 과정에 많이 사용된다. 여러 줄에 걸쳐서 동일한 문자를 입력하는 방법을 정리하였다. 여러 줄에 동일한 글자 입력하는 방법 (그림 1참조) “Ctrl + v”를 입력함 글자를 입력하고 싶은 라인을 선택함 “Shift + i”를 입력함 원하는 글자를 입력함 ESC를 입력함 완성 출처 https://stackoverflow.com/questions/253380/how-to-insert-text-at-beginning-of-a-multi-line-selection-in-vi-vim

[Linux] git 명령어 정리 (git commands)

최근 일을 하면서 git을 많이 사용하게 되었다. 예전에 일을 할 때는 Subversion을 많이 사용했는데, git을 사용하다 보니 명령어가 익숙하지 않아서 정리해보았다. 대부분의 명령어는 1개 단위로 정리를 하였다. 하지만 특정 경우에 여러 개의 명령어를 사용해야 하는 경우가 있다. 이런 경우는 2개 이상의 명령어로 구성되어 있다. 아마 각 명령어를 상세히 이해한다면 2개 이상의 명령어가 어떻게 동작하는지 알… Read More »

[Linux] vim 단축키 정리 2 (Function Folding Shortcut)

Notepad 등 Editor에서 함수 단위로 접었다 폈다 하는 기능을 지원한다. vim에서도 비슷한 기능이 있어서 단축키를 정리해보았다. 아래 Table은 출처 1에서 발취한 내용이다. 단축키 (Shortcut) 설명 (Description) zf 선택된 영역을 Fold 한다. zf#j zf/ zj zk za zo Fold 되어 있는 영역을 다시 Unfold 한다. zO zc Unfold 되었던 부분을 다시 Fold 한다. (Cursor 기준) 한… Read More »

[Linux] 특정 Core에 Task(Job) Scheduling 하기 (taskset)

실험환경 OS: Ubuntu 18.04 Linux에 실행되는 Process를 특정 Core에 Scheduling 해야 하거나 현재 실행되고 있는 Process가 몇 번 Core에서 실행되고 있는지 등을 확인하고 싶을 때 “taskset” 명령어를 사용하면 된다. 아래 자주 사용하는 옵션을 정리하였다. 더 많은 옵션은 출처 1에서 확인 할 수 있다. PID_NUMBER 연산을 수행하고 있는 Core 번호 확인 (결과는 16진수로 표시됨) $taskset -p… Read More »

[C/C++] 수행 시간 측정 방법 (clock_gettime() 함수)

실험환경 OS: Ubuntu 18.04 코드를 작성하고 정확한 동작 시간을 확인해야 하는 경우가 있다. 이러면 clock() 함수를 사용해서 시간을 측정해도 되지만 Multi-Threads 프로그램을 사용하는 경우 잘못된 결과가 출력되는 경우가 발생한다. 이런 경우 clock_gettime(…) 함수를 사용해서 수행 시간을 측정하면 된다. 아래 코드 1은 clock_gettime(…) 함수를 사용해서 시간을 측정하는 예제 코드이다. 코드 1: 실행 시간을 측정하기 위한 코드… Read More »