LDPC 를 활용하여 논문을 쓸 일이 있어서 구현을 알아보던 도중,

토론토 대학의 Radford M. Neal 교수 페이지에서

교육 및 연구용으로 무료 배포된 시뮬레이터를 찾았다. 

C언어로 구현되어 있으며, H matrix 생성, 인코드, 디코드 모두 구현되어 있다.


link:: http://www.cs.toronto.edu/~radford/ldpc.software.html


최신버전까지 올라와 있어서 최신 버전의 우분투에서 작업해도 크게 문제 없겠다 싶어 진행 중.


소스코드를 조금 수정해서 써야할 것 같아 분석하려니 답답해서 

소스코드 분석하는 방법을 구글링 해봤더니 

vim+cscope 를 가장 많이 선호하더라.


그래서 설치해서 사용 중


참조:: http://rucifer.tistory.com/391 


설치과정 및 사용 모습 (Ubuntu 11.04 기준)


1. cscope 설치하기

$> sudo apt-get install cscope 



2. 해당 프로젝트의 파일 목록 작성

LDPC$> find ./ -name '*.[ch]' -print > cscope.files 


cscope.files 를 열어보면 c나 h 확장자를 가지는 파일들을 모아두었음을 알 수 있다.



3. cscope database  작성


LDPC $> cscope -i cscope.files 




cscope 화면이 뜨면서 현재 폴더에 'cscope.out'이 생성됨


cscope 내에서도 위의 항목들을 찾을 수 있지만, vim과 연동시켜 쓰도록 하는 것이 목표이므로 패스


4. vim과 연동

vim 의 환경 설정 파일인 .vimrc 를 수정

--------------------------------------

 "cscope setting

 set csprg=/usr/bin/cscope

 if filereadable("./cscope.out")

     cs add cscope.out

 endif

--------------------------------------


이렇게 설정해두고 vim으로 파일을 열면 vim 의 커맨드 창에서 아래와 같은 사용법으로 검색 가능하다


:cs find c|d|e|f|g|i|s|t name

 - c: 이 함수를 call 하는 함수 검색

 - d: 이 함수에 의해 호출되는 함수 검색

 - e: 확장 정규식 사용하여 검색

 - f: 파일 이름 검색

 - g: 글로벌 정의 찾기

 - i: include하는 파일 검색

 - s: C 심볼 검색

 - t: 텍스트 문자열 검색




리눅스에 KSCOPE라는 툴도 있다고 한다. 

이건 Source Insight 처럼 비주얼하게 보여준다고 한다.








+ Recent posts