2010-05-01 3 views
2

나는 리눅스 응용 프로그램의 코드를 검사하고 코드 파일 중 하나에서 #include를 보았습니다. opengroup.org에서 찾았지만 sys 디렉토리가 다음과 같이 보입니다. http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/. 나는 그것이 표준 헤더 파일이 아닌 것 같지만,/usr/include/sys에 체크해 봤는데 거기에 있었다.sys/user.h는 무엇을 위해 사용됩니까?

무엇을하고 어떤 용도로 사용합니까? 당신이 그것에 대한 약간의 설명서를 제공 할 수 있다면, 나는 감사 할 것입니다. 감사. 의 ptrace와 함께 사용

답변

2

를 헤더 상단의 댓글이 거의 모두를 말한다 :

#ifndef _SYS_USER_H 
#define _SYS_USER_H  1 

/* The whole purpose of this file is for GDB and GDB only. Don't read 
    too much into it. Don't use it for anything other than GDB unless 
    you know what you are doing. */ 

GNU 특정 확장은 일반적으로입니다 꽤 쉽게 식별 할 수 있습니다 (예 : _GNU_SOURCE). 그러나 디버깅과 계측은 해당 확장이 켜져 있지 않아도 작동해야합니다. 예를 들어, 사람들은 #define _GNU_SOURCE이 아닌 코드에서 GDB를 사용하려고합니다.

ISO C에서 정의되지 않은 항목 (POSIX에서는 필요하지 않음)은 일반적으로 명확하게 레이블이 지정되어 있습니다.

Valgrind 헤더가 포함 된 이상한 모양의 기호가 모두 프로그램에서 발견됩니다.

관련 문제