모듈에 대해서 좀 이해가 잘 안됩니다. 도와주세요.
민혁
2023.04.01
질문 제목 : 질문 내용 :
//test_1.c 파일
#include stdio.h
extern void a(void);
int main(void)
{
a();
}
void b(void)
{
printf(test_1.c\n);
}//test_2.c 파일
void a(void)
{
b();
printf(test_2.c\n);
return;
}
일단 test_2.c만 컴파일 해보니 에러가 뜹니다. 정의되지 않는 함수라고 나옵니다.
솔루션 빌드해서 전체적으로 빌드해서 실행 시켜봤습니다. 정상적 실행은 되네요?
조금 이해가 잘 안되네요-ㅁ-;;
저는 컴파일러 방식이 1패스 방식이여서 원형이 필요하다고 배웠습니다. 그런데 실행해보면 정상적으로 될까요?
링크 과정에서 합쳐지는 건가요?
제가 생각해도 잘못된 방식인데 정상적으로라면
tesc_2.c에 함수 헤더를 포함 시켜야되는게 맞지않나요?#include stdio.h
extern void b(void);void a(void)
{
b();
printf(test_2.c\n);
return;
}
이런식인것 같은데..답변 부탁드립니다.