ctags 및 cscope를 사용하여 온라인으로 소스 코드 읽기: TheLinuxCrossReferencer 튜토리얼

WBOY
풀어 주다: 2024-01-26 22:51:22
앞으로
618명이 탐색했습니다.

전달 대상:

우분투 시스템에 적용하세요.

인터넷에 연결되어 있으면 LXR(TheLinuxCrossReferencer)을 사용하여 온라인으로 소스 코드를 읽을 수 있습니다. 네트워크가 없을 때, linux 커널 코드 읽기 도구ubuntu linux에서는 그냥 vim과 검색을 통해 커널 소스 코드를 입력하는 것이 조금 꺼려집니다. 다음으로, 이 기사에서는 소스 코드를 빠르게 찾는 도구인 ctags 및 cscope를 소개합니다. vim 편집기 Linux 표준 튜토리얼을 통해 위의 두 도구를 함께 사용하면 보고 싶은 소스 코드를 빠르게 찾을 수 있습니다. 좋아요, 시작해 보겠습니다!

1. 최신 커널 소스 코드 패키지를 다운로드하고 기본 디렉터리에 압축을 푼다

다음 단계는 실제로 현재 시스템 커널 소스 코드 디렉터리에서 수행할 수 있지만, 보안을 위해 홈 디렉터리에 소스 코드를 저장할 특수 디렉터리를 만드는 것이 가장 좋습니다. 아래에 언급된 소스코드 디렉터리는 모두 홈 디렉터리 아래의 소스코드 디렉터리를 의미합니다.

2.ctag 설치

사용 명령: sudoapt-getinstallctags

3.cscope 설치

linux 内核代码阅读工具_linux内核代码是什么语言_linux内核源码在线阅读

사용 명령: sudoapt-getinstallcscope

4. 태그 파일로

태그 파일을 생성하려면 소스 디렉터리에서 maketags 명령을 사용하세요(ctags-R도 사용할 수 있음)

5. 인덱스 파일 생성

소스 디렉터리(cscope-indexer-r도 사용할 수 있음)에서 makecscope 명령을 실행하여 인덱스 파일을 생성합니다.

6. 인덱스 파일을 vim으로 내보내기

다음 명령을 사용하여 vim 구성 파일을 엽니다: sudogedit/etc/vim/vimrc 파일 아래에 다음 코드를 추가합니다:

파일 읽기 가능("cscope.out")

csaddcscope.out

엔디프

이렇게 하면 vim을 열 때마다 cscope를 직접 사용할 수 있습니다.

위 단계를 완료한 후 vim을 통해 소스 코드를 빠르게 찾을 수 있습니다. 위에 설치한 ctags, cscope는 모두 소스코드 인덱싱 도구이므로 3개 중 하나만 설치해도 괜찮습니다. 예, ctags는 입력된 태그를 빠르게 찾을 수 있지만 cscope는 사용하기에 더 유연합니다. 따라서 동시에 설치하여 사용하는 것이 더 편리합니다. 다음은 참고용으로 간단한 사용 방법입니다.

1.ctag를 사용하세요

ctags의 사용은 매우 간단합니다. 먼저 소스 코드 디렉터리를 입력하고 vim 편집기를 열고 명령 모드에서 tagtag_name을 입력하고 Enter를 누릅니다. 일반적으로 tag_name은 구조체 이름, 함수 이름, 매크로 변수 이름 등이 될 수 있습니다. 일반적으로 위 명령어를 입력한 후 발견된 태그가 고유하지 않기 때문에 다음 명령어를 함께 사용해야 합니다.

tfirst: 첫 번째 항목으로 이동

tnext: 다음으로 건너뛰기

tlast: 마지막 항목으로 이동

2.cscope를 사용하세요

ctags는 사용하기 편리하고 빠르지만 때로는 cscope Linux 커널 코드 읽기 도구를 사용하는 것이 더 유연합니다. 먼저 cscope의 도움말 파일을 볼 수 있습니다.

인용

cscope 명령:

추가: 새 데이터베이스 추가(사용법: addfile|dir[pre-path][flags])

find: 패턴 쿼리(사용법: findc|d|e|f|g|i|s|tname)

c: 이 함수를 호출하는 함수 찾기

d: 이 함수가 호출하는 함수를 찾으세요

e: 이 egrep 패턴을 찾아보세요

f: 이 폴더를 찾았습니다

g: 이 정의를 찾아보세요

i: 파일 찾기 #이 파일 포함

s: 이 C 기호를 찾으세요

t: 형식 매개변수 찾기

help: 이 정보를 표시합니다(사용법: help)

kill: 연결 종료(사용법: kill#)

reset: 모든 연결을 재설정합니다(사용법: 재설정)

show: 디스플레이 연결 (사용법: show)

이전 도움말 파일을 통해 request_irq 함수의 정의 코드를 찾으려면 csfindgrequest_irq 명령을 사용하여 검색할 수 있음을 알 수 있습니다. 대부분의 경우 여러 결과의 헤더 파일을 계속해서 봐야 하기 때문에 검색 결과는 고유하지 않습니다.

일반적으로 헤더 파일은 cscope를 통해 대략적으로 찾은 다음 ctags를 통해 헤더 파일에 자세히 위치합니다. 이 두 도구는 위의 사용법에 국한되지 않지만, 심층적인 사용을 통해 점차 더 많은 사용법을 탐색할 수 있으며 정규식과 결합하면 효과가 더 좋아질 것입니다.

위 내용은 ctags 및 cscope를 사용하여 온라인으로 소스 코드 읽기: TheLinuxCrossReferencer 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:itcool.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿