inflearn logo
강의

Course

Instructor

Linux System Programming

build (make)-2

CFLAGS에 -c 옵션 넣는게 맞는지 궁금합니다.

56

gm3361

1 asked

0

안녕하세요,

GNU make

여기서 Compiling C programs를 보면 CFLAGS와 -c가 따로 있는데, CFLAGS에 -c를 넣는게 맞는지 궁금해서 질문드립니다! 상관없는건가요..?

linux 운영체제 linux-kernel ipc pthread system-programming

Answer 1

0

communityai8509

안녕하세요, 인프런 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