파일을 #include하고 CPPFLAGS를 사용하여 필요한 파일을 찾는 데 C preprocessor에 지시하면 파일이 이미 포함되어 있습니다. CFLAGS가 포함 된 동일한 디렉토리에 대해 C 컴파일러에 알려주는 것은 무엇이 있을까요?C 전처리 기 대 C 컴파일러
답변
전혀 사용하지 않는다고 생각합니다.
implicit make rules은 CFLAGS
이 C 프로그램 (.c에서 .o)을 컴파일 할 때만 사용됨을 나타냅니다. CPPFLAGS
값은 컴파일러 명령 행에도 추가됩니다.
CPPFLAGS
- 컴파일 C++ 프로그램
- 컴파일 포트란 및 RATFOR 프로그램
- 전처리 포트란 및 RATFOR 프로그램
- 조립 및 어셈블러 프로그램을
- 만들기 전처리 C, Yacc 또는 Lex 프로그램의 린트 라이브러리
CFLAGS
이 사용되는 모든 경우에 CPPFLAGS
이 사용되므로 CFLAGS
에 -I
지시문을 추가 할 때 아무런 의미가없는 것 같습니다. 이미 CPPFLAGS
에 있습니다.
물론 Makefile에 CFLAGS
을 컴파일러에 전달하는 사용자 정의 규칙이 있지만 CPPFLAGS
은 생략하면 다른 이야기입니다.
순서는 달라질 수 있지만 적어도 GNU 기본 규칙에서는 CLPAGS가 CPPFLAGS 뒤에 추가되므로 두 디렉토리의 상대 순서를 변경하는 데 사용할 수 없습니다. 긴장 상황에서). – AProgrammer
도움 주셔서 감사합니다. 내가 궁금해하는 것은 C 컴파일러가 경로 자체를 포함하여 수행하는 작업이라고 생각합니다. 컴파일러가 CPPFLAGS를 볼 수 없다고 말하자. 이 경우, 필요한 include 경로를 모른 채 barf를 사용합니까? 왜? 내가보기에는 선행 처리기가 이미 경로를 확인하고 필요한 include 파일을 포함하고 있습니다. – Sunny209
그래,하지만 대부분의 경우'cc' 프로그램은 사전 처리 *와 * 컴파일을 수행합니다. 둘 중 하나를위한 별도의 프로그램이 없습니다. – Thomas
- 1. C# 컴파일러 : 전처리 전용
- 2. C 전처리 기 : #if inside #define?
- 3. 객관적인 c - 전처리 기 후 코드
- 4. Xcode 전처리 기 매크로
- 5. 전처리 기 사용 팁 #ifndef
- 6. Interface Builder 및 전처리 기
- 7. C/C++ 전처리 오류
- 8. 생성 된 함수 이름을 정의하는 C 전처리 기
- 9. Fortran 프로그램의 문자열을 소문자로 변환하기위한 C 전처리 기 매크로?
- 10. include 경로와 함께 cpp (c 전처리 기)를 사용하는 방법
- 11. C# visual studios에서 전처리 기 기호를 정의하는 방법
- 12. 전처리 기 - IF가 작동하지 않습니다.
- 13. 스칼라, 메이븐 및 전처리 기
- 14. 전처리 기 정의의 함수로 사용되는 코드 줄
- 15. /unsafe 플래그에 해당하는 "전처리 기"기호가 있습니까?
- 16. C 전처리 기의 C++ 구현
- 17. C 전처리 기에서 반올림
- 18. WiX 전처리 기 $ var 구문을 사용하여 프로젝트의 TargetDir에 액세스
- 19. C++ 템플릿, 컴파일러 오류
- 20. 일반 전처리 기 : 모든 종류의 파일에 사용하는 방법?
- 21. C++ 전처리 및 과부하 문제
- 22. GCC를 사용한 전처리 C 코드
- 23. 이상한 정의 C++에서 전처리
- 24. Android에 C/C++ 컴파일러 설치
- 25. C 전처리 기 매크로를 파이썬 코드로 안정적으로 변환 할 수 있습니까?
- 26. 는 C++ 컴파일러
- 27. Visual C# - 컴파일러 옵션
- 28. iPhone 용 C 컴파일러?
- 29. C : 런타임시 컴파일러 정보
- 30. VS2005의 C++ 컴파일러
@Duracell : 아니요, 'CXXFLAGS'입니다. 'CPPFLAGS'는 C PreProcessor를위한 것입니다. – Thomas
@ 토마스 당신이 만든 명료화가 중요합니다. CPPFLAGS 대 CXXFLAGS에 대한 오해의 소지가있는 수많은 언급이 있습니다. – Barry