안녕하세요 리눅스 초보 입니다.

 

제가 gcc로 드라이버를 연습하고 있는데 아래와 같은 코드를 작성했습니다.

그런데 아래의 빨간색으로 칠한 include부분을 보면 실제 이 헤더들이 있는 위치는 어느 위치를 참조하는 것인가요?

 

예를 들어 lp.h를 제가 찾기를 통해 봤더니 여러군데에서 lp.h가 발견 되었습니다.

즉 제가 사용한 lp.h의 실제 위치는 어떻게 알 수 있는 것인가여?

 

또한 리눅스는 통합 개발 환경은 없나여? ㅠㅠ;  윈도우에서 VC를 사용해서 작업하다가 gcc에서 하려니..어떻게 소스가 연결 되어있는지도 모르겠더라구여 ㅠㅠ;

 

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <linux/lp.h>

int main(int argc, char **argv)
{
 int fd;
 int prnstate;
 int lp;
 
 unsigned char buff[128];
 
 fd = open("/dev/lp0", O_RDWR | O_NDELAY);
 if(fd < 0)
 {
  perror("open error");
  exit(1);
 }
 while(1)
 {
  ioctl(fd, LPGETSTATUS, &prnstate);
  if(prnstate & LP_PSELECD)
   printf("ON\n");
  else
   printf("ONFF\n");
  usleep(50000);
 }
 clse(fd);
 return 0;
}