[Unix/C/C플플] 인클루드 꺽쇠와 따옴표차이







꺽쇠와 따옴표의 차이
1. Standard Library Header를 쓰는가?  <- 꺽쇠
2. User Defined Header를 쓰는가? <- 따옴표

이렇게 쓰는것이 일반적입니다.


왜 그럴까요?
#include <stdio.h>를 예로 든다면 

컴파일러가 모든 유저가 참고 가능한 /usr/include 에서 헤더를 찾고 종료합니다. [모든 유저가 include할 수 있는 헤더]
그리고 stdio.h.는 /usr/include 내부에 존재합니다.


하지만 User Defined Header의 경우 /usr/include에 파일이 없기에 빌드에러를 내뿜게 됩니다.




그렇다면 꺽쇠를 사용한 경우는 어떨까요
1. User가 정의한 헤더 경로를 먼저 찾는다.
즉 -I../include 와 같이 상대 혹은 절대경로의 유저가 정의한 경로를 먼저 참고합니다.

2. /usr/include 쪽에서 헤더를 찾습니다. Ex, "" -> <>로 바뀐다고 생각하시면 됩니다.
그 다음 /usr/include에서 헤더를 찾습니다.


이런 차이가 발생하기에, User정의 헤더라면 따옴표를 사용하는 것이 좋습니다.

댓글

이 블로그의 인기 게시물

윤석열 계엄령 선포! 방산주 대폭발? 관련주 투자 전략 완벽 분석

대통령 퇴진운동 관련주: 방송·통신·촛불수혜주 완벽 분석

키움 OPEN API MFC 개발 (1)