-ssl 의 의미가 무엇인지 질문입니다 .~
글쓴이: hyper9 / 작성시간: 화, 2010/08/24 - 5:44오전
오랫동안 그다지 의문없이 Compile할 때, -lssl, -lpthread
등의 flag를 써왔는데요.
오늘은 갑자기 이것이 어떤의미인지 잘 모르겠다는 생각이 들었습니다.
예를 들어 "-lssl"의 의미가 무엇일까요?
Application을 compile할 때, ssl library를 link한다는 의미인가요?
만일 그렇다면 (아니라면 맞는 답을 알려주시면 감사하겠습니다.) SSL library가 2개 이상 설치되어 있다면
어떻게 되는건지요?
예를 들어 0.99 version은 /usr/lib아래에 library를 만들고, 1.00 Version은 /usr/local/lib아래에 library를
생성한다면,,,
Application의 compile은 어떻게 진행되는 걸까요?
제가 잘못알고 있는 것을 발견하시면 고쳐주시면 감사하겠습니다. ^^
Forums:
라이브러리
-lssl은 링크단계에서 ssl라이브러리를 링크한다는 의미 맞습니다.
컴파일러는 내부적으로 기본적인 라이브러리 검색 경로를 저장하고(알고)있습니다.
따라서 컴파일러는 라이브러리를 검색해야하는 경로들을 순서대로 검색하면서 링크해야 하는
라이브러리를 찾는다면 그 라이브러리를 링크하게 됩니다.
만약 컴파일러의 라이브러리 검색 경로가 다음과 같고
/usr/lib:/usr/local/lib
ssl라이브러리를 링크하게된다면 /usr/lib에 저장되어 있는 0.99버젼의 라이브러리를 링크하게 됩니다.
또 같은 디렉토리에 정적,공유라이브러리가 함께 존재한다면 동적 라이브러리를 링크하게 됩니다.
이 경우 정적 라이브러리를 우선 링크하도록 하는 방법도 있습니다.
그럼 이만.
댓글 달기