강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của madlife91614707
madlife91614707

câu hỏi đã được viết

Lập trình FreeRTOS

Cấu trúc của ví dụ thực hành trong lớp học

강의 "수업실습예제의 구성" 2:22부근 질문드립니다!!

Viết

·

280

1

안녕하세요 강사님!! C언어 함수 관련 질문 드릴 것이 있어 질문글을 작성하게 되었습니다.

강의 2:22부근에 나오는 USER_THREADS() 함수는 task.c에 정의되어 있고 그 함수를 다른 .c 파일인 main.c에서 호출하고 있습니다. 보통 함수의 정의를 task.h 등의 헤더파일에 작성하고, 이후 main.c에서 #include "task.h"를 한 후 다른 .c파일의 함수를 사용할 수 있는 것 아닌가요?? 어떠한 헤더파일의 인클루드도 없이 바로 main.c에서 다른 .c파일인 task.c 파일 속 함수를 사용할 때 왜 오류가 발생하지 않는 것인가요..??

운영체제임베디드FreeRTOS

Câu trả lời 2

1

guileschool님의 프로필 이미지
guileschool
Người chia sẻ kiến thức

안녕하세요. madlife9161님!

main.c 에 보시면 함수 원형(function prototype)이 선언되어 있는 걸 보실 수 있어요.

image

만약 이것을 명시하지 않으면 컴파일할 때 경고가 발생하게 되요.

../Src/main.c:142:3: warning: implicit declaration of function 'USER_THREADS' [-Wimplicit-function-declaration]
  142 |   USER_THREADS();
      |   ^~~~~~~~~~~~

에러가 아닌 경고이기 때문에 실행에는 문제 없습니다만.

물론 말씀하신 것처럼 별도의 헤더 파일에 넣어서 이런식으로 #include "task.h" 하셔도 되요.

 

0

madlife9161님의 프로필 이미지
madlife9161
Người đặt câu hỏi

아아 네넵 답변 감사합니다!

Hình ảnh hồ sơ của madlife91614707
madlife91614707

câu hỏi đã được viết

Đặt câu hỏi