검색 경로 - GCC 예비 프로세서 검색 경로

검색 경로 - GCC 예비 프로세서 검색 경로
https://gcc.gnu.org/onlinedocs/cpp/Search-Path.html
By default, the preprocessor looks for header files included by the quote form of the directive #include "file" first relative to the directory of the current file, and then in a preconfigured list of standard system directories. For example, if /usr/include/sys/stat.h contains #include "types.h" , GCC looks for types.h first in /usr/include/sys ,then in its usual search path. 기본 적 인 상황 에서 예비 프로세서 가 명령 #include "file" 의 참조 형식 에 포 함 된 헤더 파일 을 찾 습 니 다. 먼저 현재 파일 의 디 렉 터 리 에 비해 미리 설 정 된 표준 시스템 디 렉 터 리 목록 을 찾 습 니 다.예 를 들 어 /usr/include/sys/stat.h#include "types.h" 이 포함 된다 면 GCC 는 먼저 /usr/include/sys 에서 types.h 을 찾 은 다음 관례 에 따라 검색 경 로 를 찾는다.
For the angle-bracket form #include , the preprocessor’s default behavior is to look only in the standard system directories. The exact search directory list depends on the target system, how GCC is configured,and where it is installed. You can find the default search directory list for your version of CPP by invoking it with the -v option.정확 한 검색 디 렉 터 리 목록 은 대상 시스템, GCC 설정 방식, 설치 위치 에 달 려 있 습 니 다.#include 옵션 을 사용 하여 CPP 버 전의 기본 검색 디 렉 터 리 목록 을 호출 할 수 있 습 니 다.예컨대
cpp -v /dev/null -o /dev/null

There are a number of command-line options you can use to add additional directories to the search path. The most commonly-used option is -v , which causes -Idir to be searched after the current directory (for the quote form of the directive)and ahead of the standard system directories. You can specify multiple dir options on the command line, in which case the directories are searched in left - to - right order. 많은 명령 행 옵션 을 사용 하여 다른 디 렉 터 리 를 검색 경로 에 추가 할 수 있 습 니 다.가장 많이 사용 되 는 옵션 은 -I 으로 현재 디 렉 터 리 (명령 에 대한 참조 형식) 이후 표준 시스템 디 렉 터 리 를 검색 하기 전에 -Idir 을 검색 합 니 다.명령 행 에 dir 옵션 을 여러 개 지정 할 수 있 습 니 다. 이 경우 왼쪽 에서 오른쪽으로 디 렉 터 리 를 검색 합 니 다.
quote [kwəʊt]:vt.   ,  ,    ,  , ...  ,  (     )    vi.   ,   n.   ,  ,  ,(  )   ,  ,(      )    
directive [daɪ'rektɪv; dɪ'rektɪv]:n.   ,   adj.    ,   

If you need separate control over the search paths for the quote and angle-bracket forms of the -I directive, you can use the #include and/or -iquote options instead of -isystem . See Invocation, for a detailed description of these options,as well as others that are less generally useful. -I 명령 의 따옴표 와 괄호 형식의 검색 경 로 를 단독으로 제어 하려 면 #include 과 / 또는 -iquote 옵션 을 사용 할 수 있 습 니 다.이 옵션 에 대한 상세 한 설명 과 자주 사용 되 지 않 는 옵션 은 호출 을 참조 하 십시오.
\ # include "..." search starts here: 현재 파일 의 디 렉 터 리 를 먼저 검색 한 다음 미리 설 정 된 표준 시스템 디 렉 터 리 목록 을 찾 습 니 다. \ #include search starts here: 예비 프로세서 의 기본 동작 은 표준 시스템 디 렉 터 리 만 보 는 것 입 니 다.-isystem, that effect where the preprocessor search for header files, the directory list printed by the -I option reflects the actual search path used by the preprocessor. 명령 줄 에 다른 옵션 을 지정 하면 (예: -I)예비 프로세서 검색 헤더 파일 의 위치 에 영향 을 줄 수 있 으 며, -v 옵션 으로 인쇄 된 디 렉 터 리 목록 은 예비 프로세서 가 사용 하 는 실제 검색 경 로 를 반영 합 니 다.
또한 전처리 기 가 -I 옵션 을 사용 하여 기본 시스템 헤더 디 렉 터 리 를 검색 하 는 것 을 방지 할 수 있 습 니 다. 이 는 운영 체제 커 널 이나 표준 C 라 이브 러 리 기능 을 사용 하지 않 는 다른 프로그램 이나 표준 C 라 이브 러 리 자 체 를 컴 파일 할 때 유용 합 니 다.예비 프로세서 가 -v 옵션 을 사용 하여 기본 시스템 헤더 디 렉 터 리 를 검색 하 는 것 을 막 을 수 있 습 니 다.운영 체제 커 널 이나 표준 C 라 이브 러 리 도구 나 표준 C 라 이브 러 리 자체 의 프로그램 을 컴 파일 하지 않 을 때 유용 합 니 다.
1. cpp -v /dev/null -o /dev/null
strong@foreverstrong:~$ cat /etc/hostname
foreverstrong
strong@foreverstrong:~$
strong@foreverstrong:~$ echo LD_LIBRARY_PATH
LD_LIBRARY_PATH
strong@foreverstrong:~$
strong@foreverstrong:~$ echo $LD_LIBRARY_PATH
/usr/local/cuda-8.0/lib64:
strong@foreverstrong:~$
strong@foreverstrong:~$ cpp -v /dev/null -o /dev/null
Using built-in specs.
COLLECT_GCC=cpp
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.9' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)
COLLECT_GCC_OPTIONS='-E' '-v' '-o' '/dev/null' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/5/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu /dev/null -o /dev/null -mtune=generic -march=x86-64 -fstack-protector-strong -Wformat -Wformat-security
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/5/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-E' '-v' '-o' '/dev/null' '-mtune=generic' '-march=x86-64'
strong@foreverstrong:~$

좋은 웹페이지 즐겨찾기