CFLAGS에 -c 옵션 넣는게 맞는지 궁금합니다.
56
1 asked
안녕하세요,
여기서 Compiling C programs를 보면 CFLAGS와 -c가 따로 있는데, CFLAGS에 -c를 넣는게 맞는지 궁금해서 질문드립니다! 상관없는건가요..?
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. 김지효님,
GNU Make에서 CFLAGS는 컴파일러 옵션을 지정하는 데 사용되는 변수입니다. -c 옵션은 소스 파일을 오브젝트 파일로 컴파일할 때 사용됩니다. 따라서 -c 옵션은 CFLAGS에 직접 포함되는 것이 아니라, 컴파일 과정의 명령어에서 사용됩니다.
CFLAGS는 주로 최적화(-O2), 경고(-Wall), 디버깅 정보(-g) 등과 같은 일반적인 컴파일 옵션을 지정하는데 사용됩니다. -c는 특정한 컴파일 동작을 정의하는 옵션이기 때문에, 일반적으로 CFLAGS와는 별도로 사용됩니다.
CFLAGS에 -c를 포함하지 않는 것이 관례적이며, 일반적인 사용에서도 이 원칙을 따르는 것이 좋습니다. 컴파일 명령어에 직접 -c를 사용하여 소스 파일을 오브젝트 파일로 컴파일하는 방식을 선택하는 것이 더 명확한 표현입니다.
GNU Make에서 CFLAGS는 대개 다음과 같이 설정됩니다:
CFLAGS = -O2 -Wall
컴파일 명령은 다음과 같습니다:
gcc $(CFLAGS) -c main.c
다음 자료를 참고하시면 도움이 될 것입니다:
- GNU Make 설명서
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.
0
15
1
REST API (Self-descriptive messages)
0
22
1
프로젝트 질문 문의
0
46
1
시스템 엔지니어 관련 질문입니다.
0
50
2
Unauthorized 에러
0
42
2
inotify 객체에 등록된 watch descriptor 해제 관련 질문
0
37
2
select API 실습 코드 질문
0
40
2
만약에 포팅을 할때 1년에 한번 잡는 치명적인 문제를 해결하는 코드가 들어갔다고 가정하면
0
57
2
여러 의문점
1
63
1
72강의 DNS개념(수업자료)에 자료가 없어서 문의 드립니다.
1
56
2
오버라이딩 관련하여 질문드립니다.
0
61
2
CPU 스케줄링 RR 강의 2:54에서 질문 있습니다.
1
57
2
CPU Bound Process와 sleep, yield에 대해
1
60
1
권한 기본값 질문
0
54
2
Critical Section과 SRWlock의 차이
0
99
2
openclaw 실행 실패
0
561
1
STM32 포팅할 때 STM32 Project가 없음
0
148
2
교재 있나요? 서브 노트 있나요?
0
60
1
FreeRTOS 멀티코어 지원안됨?
0
83
2
함수 메뉴얼을 보기 위한 단축키
0
89
1
17분 2초에
0
66
1
혹시 고급과정의 경우 하반기 몆월쯤 나올까요?
0
106
2
혹시 고급과정도 출시가 되는지요?
0
145
1
네트워크 환경설정 오류
0
388
1

