포함 파일이 저장된 위치-Ubuntu Linux, GCC
따라서 다음을 수행 할 때 :
#include <stdio.h>
대
#include "myFile.h"
필자의 경우 컴파일러 인 GCC는 해당 stdio.h (및 개체 파일)가 하드 드라이브의 어디에 있는지 알고 있습니다. 나와 상호 작용하지 않고 파일을 사용합니다.
내가 생각하는 내 우분투 리눅스 컴퓨터에 파일이 저장됩니다 /usr/include/. 컴파일러는 이러한 파일을 찾을 위치를 어떻게 알 수 있습니까? 구성 가능합니까 아니면 예상되는 기본값입니까? 이 구성은 어디에서 찾을 수 있습니까?
이러한 포함 파일에 대해 질문하고 있으므로 파일의 소스는 무엇입니까? Linux 커뮤니티에서 이것이 모호 할 수 있다는 것을 알고 있지만 누가 관리합니까? Windows 컴파일러에 대해 동일한 파일을 제공하고 관리하는 사람.
나는 항상 그들이 컴파일러와 함께 제공 된다는 인상을 받았지만 그것은 가정이었습니다 ...
여기 참조 : 검색 경로
요약:
#include <stdio.h>
포함 파일이 대괄호 안에 있으면 전처리 기는 먼저 -I 플래그 를 통해 지정된 경로에서 검색합니다 . 그런 다음 표준 포함 경로를 검색합니다 (위 링크를 참조하고 -v 플래그를 사용 하여 시스템에서 테스트).
#include "myFile.h"
(가) 포함하면 파일이 현재 디렉토리에 전처리 최초의 검색은, 그때까지 경로 지정 따옴표에 -iquote , 다음 -I 다음 경로, 표준 경로.
-nostdinc 는 전처리 기가 표준 경로를 전혀 검색하지 못하도록 방지하는 데 사용할 수 있습니다.
환경 변수 를 사용하여 검색 경로를 추가 할 수도 있습니다.
-v 플래그 를 사용하면 컴파일 할 때 사용 된 검색 경로를 볼 수 있습니다.
gcc는 그 임무를 수행하기 위해 다른 많은 프로그램을 호출하는 풍부하고 복잡한 "조정"프로그램입니다. 여기서 보는 특정의 목적 #include "goo"과 #include <zap>시스템에 검색합니다, 나는 추천 :
$ touch a.c
$ gcc -v -E a.c
...
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include
/usr/include
/System/Library/Frameworks (framework directory)
/Library/Frameworks (framework directory)
End of search list.
# 1 "a.c"
이것은 #include "..."찾을 수는 있지만 #include <...>보이지 않을 디렉토리 (있는 경우)를 포함하여 포함 된 파일의 검색 목록을 보는 한 가지 방법 입니다. 내가 보여주는이 특정 목록은 실제로 Mac OS X (일명 Darwin)에 있지만 내가 권장하는 명령은 검색 목록 ( ...여기에서 대체 한 흥미로운 구성 세부 정보 포함)을 표시합니다. gcc가 제대로 실행됩니다.
Karl이 검색 경로 질문에 답했지만 "파일 소스"에 관한 한,주의해야 할 점은 libfoo패키지 를 설치하고 패키지 를 사용하여 개발을 수행하려는 경우 (예 : 헤더 사용), 또한 설치해야합니다 libfoo-dev. 보시다시피 표준 라이브러리 헤더 파일은 이미에 /usr/include있습니다.
헤더가 많은 일부 라이브러리는 하위 디렉토리에 설치합니다 (예 : /usr/include/openssl. 그 중 하나를 포함하려면 다음과 같이 /usr/include부분 없이 경로를 제공하면됩니다 .
#include <openssl/aes.h>
\#includegcc 의 파일은 /usr/include. g ++의 표준 포함 파일은 /usr/include/c++.
참고 URL : https://stackoverflow.com/questions/1217943/where-are-include-files-stored-ubuntu-linux-gcc
'Program Club' 카테고리의 다른 글
| 요소의 계산 된 스타일을 반환하여 해당 요소를 의사 복제하는 jQuery CSS 플러그인? (0) | 2020.11.11 |
|---|---|
| 전화 통화를위한 URL 체계 (0) | 2020.11.11 |
| 번호로 신용 카드 유형을 결정합니까? (0) | 2020.11.11 |
| CSS 속성 선택자 : 따옴표에 대한 규칙 ( ", '또는 없음?) (0) | 2020.11.11 |
| CSS 배경 이미지 불투명도? (0) | 2020.11.11 |