kosslab-kr / linux-perf

:rocket: perf contribution (mirrored from git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git)
Other
16 stars 8 forks source link

[고명진] 개발환경 구성문서 #187

Open rayleighko opened 7 years ago

rayleighko commented 7 years ago

개발 및 테스트 환경 구성

편집기인 Vim에 Plugin을 사용해 IDE와 유사한 환경을 아래와 같이 구성한다.

편집기의 환경은 개인의 취향에 따라 다를 수 있으니 추가적인 링크를 참고해 설정하도록 하자.

screenshot at 2017-10-14 15-00-49

Vim에 대한 Plugin은 Vim Awesome을 참고하도록 하자.

마음에 드는 플러그인을 골랐다면, 아래와 같이 ~/.vimrc 이라는 vim 설정파일을 수정해 플러그인을 추가하자. 다른 플러그인을 설치하기 전에 'Vundle'플러그인을 설정해주자.

... " Vundle set nocompatible " be iMproved, required filetype off " required

" set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' ...

더불어 '~/.vimrc'에서는 Vim에서 사용할 수 있는 단축키, 명령을 정의할 수 있다. 만약 를 눌러 저장을 하고 싶다면 아래와 같이 설정해주면 될 것이다.

map \<F2> :w!\<CR>

Vundle을 추가했다면 다른 플러그인 설치 정보들도 추가해주자. 이는 다음과 같이 진행하면 될 것이다.

... " Vundle set nocompatible " be iMproved, required filetype off " required

" set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " vim-airline

" Ultisnips Plugin 'SirVer/ultisnips' Plugin 'honza/vim-snippets'

" Syntastic Plugin 'Syntastic'

" Neocomplete Plugin 'Shougo/neocomplete.vim'

" clang complete Plugin 'Rip-Rip/clang_complete'

" Nerdcommenter Plugin 'scrooloose/nerdcommenter' ...

이와 같이 말이다.

정리하자면 gcc로 디버깅해주는 플러그인이나 the-nerd-tree와 같이 프로젝트 관리 플러그인을 깔아 IDE와 유사한 환경을 구축했다. 다음은 오류가 날 경우의 Vim 플러그인이다.

screenshot at 2017-10-14 12-24-37

컴파일/실행 테스트

앞서 언급한 방법을 이용해 test.c라는 파일을 다음과 같이 만들었다.

screenshot at 2017-10-14 12-31-48

이와 같이 C/C++로 작성된 파일을 컴파일 후 uftrace로 실행해보자.

➜ tests git:(master) ✗ gcc -pg test.c

을 이용해 컴파일을 진행하고, 이를 'uftrace'를 이용해 실행한 결과는 다음과 같다.

qkgqewwqjdasn screenshot at 2017-10-14 12-40-23

GIT 개발 환경 구성

다음으로는 GIT 개발 환경을 구성할 것이다.

asdxzcqweds

이는 local repo, remote repo, upstream에 해당하는 각 속성에 대해 설정한 것이다.

개발 및 테스트 환경 구성

asdzcx

편집기인 Vim에 Plugin을 사용해 IDE와 유사한 환경을 아래와 같이 구성한다.

편집기의 환경은 개인의 취향에 따라 다를 수 있으니 추가적인 링크를 참고해 설정하도록 하자.

screenshot at 2017-10-14 11-38-29

Vim에 대한 Plugin은 Vim Awesome을 참고하도록 하자.

마음에 드는 플러그인을 골랐다면, 아래와 같이 ~/.vimrc 이라는 vim 설정파일을 수정해 플러그인을 추가하자. 다른 플러그인을 설치하기 전에 'Vundle'플러그인을 설정해주자.

... " Vundle set nocompatible " be iMproved, required filetype off " required

" set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' ...

더불어 '~/.vimrc'에서는 Vim에서 사용할 수 있는 단축키, 명령을 정의할 수 있다. 만약 를 눌러 저장을 하고 싶다면 아래와 같이 설정해주면 될 것이다.

map \<F2> :w!\<CR>

Vundle을 추가했다면 다른 플러그인 설치 정보들도 추가해주자. 이는 다음과 같이 진행하면 될 것이다.

... " Vundle set nocompatible " be iMproved, required filetype off " required

" set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " vim-airline

" Ultisnips Plugin 'SirVer/ultisnips' Plugin 'honza/vim-snippets'

" Syntastic Plugin 'Syntastic'

" Neocomplete Plugin 'Shougo/neocomplete.vim'

" clang complete Plugin 'Rip-Rip/clang_complete'

" Nerdcommenter Plugin 'scrooloose/nerdcommenter' ...

이와 같이 말이다.

정리하자면 gcc로 디버깅해주는 플러그인이나 the-nerd-tree와 같이 프로젝트 관리 플러그인을 깔아 IDE와 유사한 환경을 구축했다. 다음은 오류가 날 경우의 Vim 플러그인이다.

screenshot at 2017-10-14 12-24-37

컴파일/실행 테스트

앞서 언급한 방법을 이용해 test.c라는 파일을 다음과 같이 만들었다.

qkgqewwqjdasn

이와 같이 C/C++로 작성된 파일을 컴파일 후 perf로 실행해보자.

zxcqw