[완료]c언어 컴파일 시 return type 체크 할 수 없나요?

vividmaker의 이미지

unix환경에서 c 코딩을 시작한지 얼마 안되는 초보입니다.

c언어에서 아래와 같이 선언된 type을 return하지 않아도 컴파일시 경고도 되지 않아서 상당히 놀랐습니다.

혹시 이부분에 대해서 조언해 주시면 정말 감사하겠습니다.

----------------------------------------------------------------
int foo()
{
printf("foo is called\n");
/* return을 하지 않아도 아무 경고도 안해준다 */
}

int main(int argc, char** argv)
{
printf("foo resullt is %d\n", foo());
}

klara의 이미지

대부분의 컴파일러는 경고수준을 조절할수 있습니다.
예를 들어 gcc같은 경우는 -Wall -W 옵션을 주면 경고가 뜰 것입니다.

vividmaker의 이미지

gcc는 아니고 HP-UX 컴파일러 쓰는데

+w1 옵션을 줬더니 해결되는군요.

메뉴얼도 제대로 보지않고 질문해서 죄송합니다.