컴파일할때 플래그 값들을...(초보)

zxcvbnm의 이미지

c로 프로그래밍한지 얼마 되지 않은 초보입니다.
궁금한게 몇 가지 있어서 질문드립니다.

cc로 컴파일 할경우 다음과 같은 플래그들을 많이 붙여서 사용하는 것 같습니다. 이런 플래그 값들은 어떻게 외워야 되는지 모르겠네요.
이런걸 어떻게 찾아야 되는지, 어떻게 사용을 해야 되는지 조언좀 부탁드립니다.

-lm -lsocket -lgen -lnsl 등....

sharefeel의 이미지

-lxxx 옵션은 링크시에 xxx 라이브러리도 같이 링크 하겠다는 의미이며,
자주 쓰는 것은 외우겠지만,, 모르면 매뉴얼 페이지를 보면 간단히 알 수 있습니다.

다음은 socket 함수의 매뉴얼 페이지입니다.
-lsocket -lnsl 옵션을 줘야 하는 것을 알 수 있습니다.

Sockets Library Functions                         socket(3SOCKET)

NAME
     socket - create an endpoint for communication

SYNOPSIS
     cc [ flag ... ] file ... -lsocket -lnsl [ library ... ]
     #include <sys/types.h>
     #include <sys/socket.h>

     int socket(int domain, int type, int protocol);

===============
Vas Rel Por