핵심원천포함하다기능그리고데이터 구조예를 들어 문서화되었습니다.panic.c
:
/**
* panic - halt the system
* @fmt: The text string to print
*
* Display a message, then perform cleanups.
*
* This function never returns.
*/
void panic(const char *fmt, ...)
매번 소스 코드를 보는 대신 이러한 API를 다음과 같이 생각하십시오.맨페이지그리고 기존 문서 프레임워크를 활용하세요.
어떻게 설치/만들나요?커널 섹션 9 맨페이지( /usr/share/man/man9
) 위의 함수와 데이터 구조가 포함된 문서는 무엇입니까?
답변1
내용은직접 분석(당신은 또한 볼 수 있습니다이것) 에서원천.c 파일 1 :
Linux 커널의 기능 및 데이터 구조에 대해 내장된 "C" 친화적이고 유지 관리가 쉽고 일관되고 추출 가능한 문서를 제공하기 위해 Linux 커널은 함수와 해당 매개변수, 구조 및 매개변수를 문서화하는 데 일관된 스타일을 채택합니다. 회원.
이 문서의 형식을 kernel-doc 형식이라고 합니다. 이 Documentation/kernel-doc-nano-HOWTO.txt 파일에 문서화되어 있습니다.
이 스타일은 몇 가지 간단한 규칙을 사용하여 문서를 소스 파일에 포함합니다. scripts/kernel-doc perl 스크립트, Documentation/DocBook의 일부 SGML 템플릿 및 기타 도구는 이러한 규칙을 이해하고 포함된 문서를 다양한 문서로 추출하는 데 사용할 수 있습니다. [...]
시작 주석 표시 "/**"는 커널 문서 주석용으로 예약되어 있습니다. 커널 문서 스크립트는 그렇게 표시된 주석만 고려하며, 그렇게 표시된 모든 주석은 커널 문서 형식이어야 합니다.
즉, 형식이 지정된 주석만 이 방법으로 추출할 수 있으며 다음을 활용할 수 있습니다.kernel-doc
진주프로세스에서 사용되는 스크립트 make
:
kernel-doc [ -docbook | -html | -html5 | -text | -man | -list ]
[ -no-doc-sections ]
[ -function funcname [ -function funcname ...] ]
c file(s)s > outputfile
따라서 당신은 이에 국한되지 않습니다만독스 표적:
일단 설치되면 "make psdocs", "make pdfdocs", "make htmldocs" 또는 "make mandocs"는 요청된 형식으로 문서를 렌더링합니다.
드라이버별 항목도 있습니다.텍스트 파일커널 저장소/소스에 있습니다. 보다 일반적으로 그들의Linux 매뉴얼 페이지 프로젝트(남자 1통과하다남자 8) 예쓸 수 있는다운로드 가능합니다. 마지막으로 kernel.org도 일부를 유지 관리합니다.산출문서.
1. 이 기술이 맨페이지를 생성하는 데 사용되는 유일한 경우는 커널이 아닙니다. 암소 비슷한 일종의 영양핵심 도구다른 경우에도 마찬가지입니다. 대부분의 맨페이지는 다음과 같습니다.생성됨command --help
콘텐츠의 출력을 사용하세요.용법유틸리티 소스 파일(1 2).
답변2
우분투를 사용한다고 가정하면,
apt-get install linux-manual-3.2
또는 유사합니다(올바른 버전 선택). 또 다른 문서 패키지가 있습니다
apt-get install linux-doc
하지만 이것은 HTML입니다.
답변3
커널 소스 코드 다운로드소스 디렉토리에서 실행
make mandocs
man 파일이 생성된 후 다음을 실행합니다.
make installmandocs
그러면 맨페이지가 에 설치됩니다 /usr/local/man/man9/
. 이제 를 입력하여 맨페이지를 볼 수 있습니다. man <api-name>
편집 중인 경우에는 API 이름을 vim
누르기만 하면 됩니다.K