ctags 파일 만들때 prototype 추가가 안되는 문제
글쓴이: demysoul / 작성시간: 금, 2009/10/23 - 1:36오전
안녕하세요. 리눅스를 접한지 얼마안되는 초보 사용자인데요. 궁금한것이 있어서 여기에 질문합니다.
ctag를 사용해서 함수를 tag파일에 추가하려고 하는데요.
헤더파일은 /usr/include/sys/msg.h 파일이고,
이 헤더파일에 들어가보면
/* Get messages queue. */ extern int msgget (key_t __key, int __msgflg) __THROW; /* Receive message from message queue. This function is a cancellation point and therefore not marked with __THROW. */ extern ssize_t msgrcv (int __msqid, void *__msgp, size_t __msgsz, long int __msgtyp, int __msgflg);
이런 내용이 있더라구요.
/usr/include/sys 디렉토리에서
sudo ctags -x --c-kinds=+p msg.h 라고 명령을 주니까
_SYS_MSG_H macro 21 msg.h #define _SYS_MSG_H __need_size_t macro 25 msg.h #define __need_size_t __need_time_t macro 35 msg.h #define __need_time_t __pid_t_defined macro 40 msg.h # define __pid_t_defined __ssize_t_defined macro 45 msg.h # define __ssize_t_defined msgbuf struct 53 msg.h struct msgbuf msgrcv prototype 73 msg.h extern ssize_t msgrcv (int __msqid, void *__msgp, size_t __msgsz, // msgrcv는 추가가 되는데 msgget는 추가가 안되있음 msgsnd prototype 80 msg.h extern int msgsnd (int __msqid, __const void *__msgp, size_t __msgsz, mtext member 56 msg.h char mtext[1]; /* text of the message */ mtype member 55 msg.h long int mtype; /* type of received/sent message */ pid_t typedef 39 msg.h typedef __pid_t pid_t; ssize_t typedef 44 msg.h typedef __ssize_t ssize_t;
다음처럼 msgget 함수선언은 tag파일에 추가가 안되네요.
제가 msgctl, msgget, msgrcv, msgsnd 함수를 tag파일로 만들어서 참조하려고 하는데요.
같은 prototype인데도 tag파일에 추가가 되는게 있고 안되는게 있네요
제가 잘몰라서 그러는건지 뭐가 잘못된건지 모르겠습니다.
두 prototype간에 차이가 없나 확인해보니 __throw가 붙어있는건 추가가 안되던데,
이것때문에 그런건가 하고도 생각이 되네요.
구글링해도 정보를 구할수가 없어서 염치 불구하고 여기에 올립니다.
Forums:
댓글 달기