기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

몇가지 궁금해서 문의드립니다.

PC linux의 application program을 짤 때,
source에 일 예로써 다음과 같은 헤더파일을 포함하곤  합니다.

#include <stdio.h>
#include <sys/types.h>


여기서 헤더파일의 위치는 보통 표준 디렉토리인
“/usr/include”내에 위치하는 것으로 알고 있습니다.
물론, 컴파일 옵션에서 –I /XXX 라고 할 경우에는 “XXX” 디렉토리도 찾긴 합니다.

<문의1>
그렇다면, PC에서 embedded linux의 application program을 짤 때는
헤더파일의 경로가 어떻게 되는가요 ?
즉… arm-linux-gcc로 컴파일 하는, application program에서
#include <stdio.h>
#include <sys/types.h>

와 같은 헤더파일을 포함시킬 때, 이 헤더파일의 위치는 어디에 존재하나요 ?
위와 같이 PC의 경우랑 동일(“/usr/include")한가요 ?

<문의2>
표준 디렉토리가 “/usr/include"라고 할 때,
ARM용 CPU에서 실행되는 프로그램을 짠 후에,
i386상에서 cross-compiler로써 컴파일 할 경우에는
ARM용 타겟보드의 루트파일시스템내에 “/usr/include"가 없어도 되는 것이 맞습니까?
그렇다면, 타겟보드내에서 native compiler로써 컴파일 할 경우에는
ARM용 타겟보드의 루트파일시스템내에 “/usr/include"가 반드시 존재해야 하는가요 ?

<문의3>
그리고 한가지만 더 여쭙겠습니다.
표준디렉토리가 “/usr/include”라고 하는데, 그럼, 이 표준 디렉토리는 어디서 정의하나요 ?
리눅스 커널에서요 ?
아니면, 컴파일러에서요 ?
아니면, 루트파일시스템내의 특정 설정파일(/etc아래...등)에서요 ?

고현철

2008.04.30 09:06:35
*.187.44.115

1. 툴체인 경로의 arm-linux/include 입니다.

2. 툴체인 경로기 때문에 /usr/include랑 하등 상관이 없습니다.
- native의 경우는 /usr/include가 편하겠지요? 다르게도 지정은 가능하겠지만, 왕노가다를 궂이....

3. 컴팔러라고 보는게 맞겠지요?

김광준

2008.04.30 15:48:42
*.94.41.89

#include <stdio.h> 같은 경우(1)와 #include "stdio.h" 같은 경우(2)에 있어서
경우1과 경우2는 컴파일러가 화일을 참조하는 경로가 조금 다릅니다.
List of Articles
번호 제목 글쓴이 날짜 조회 수

사용자 로그인