링킹에 관한 초보적인 질문 드립니다.
글쓴이: vulcan / 작성시간: 목, 2015/12/24 - 2:27오후
정적 라이브러리를 기준으로 한다면,
라이브러리를 만드는 과정은 대략 다음과 같다고 할 수 있습니다.
1. file1.c file2.c 작성 (헤더 포함)
2. file1.o file2.o 생성
3. 위의 두 오브젝트를 묶어서 mylib.a 생성
그러면 라이브러리 내부의 오브젝트 파일들은 소스 파일 단위라고 볼 수 있는데.
프로젝트를 링킹 하는 과정에서 gcc는 기본적으로 라이브러리 내의 사용되는 오브젝트만 링킹한다고 되어 있습니다.
그렇게 되면 결국 실행파일의 사이즈 관점에서는 소스 파일을 되도록이면 짧게, 궁극적으로는 함수 한개 단위로 작성하는 것이
더 나은 건가요?
Forums:
글쎄요.
얼마전 몇가지 해보니.
OS 버전. 32비트. 64비트. CPU. 컴파일러 버전. 옵션. 등에 차이가 보였습니다.
그냥. Qt. 플래시. VS.로 통합 IDE 개발도구환경에서 개발하는것이 적합해 보입니다.
아니면. 소스. 혹은 소스코드 메이커를 만들어서 공개 및 공유.할 수 있는 적합한 방안을 구상하는 방법도 있겠죠...
그냥. 하나에서라도 잘 되면. 다행인거 같습니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
...
외부에 공개해서 여러 사람들이 사용하게 될 라이브러리라면 소스파일을 최대한 많이 나누는 게 말씀하셨듯이 "필요한 object만 링크"할 수 있게 해주므로 좋다고 할 수 있습니다.
하지만 만들어서 자기가 쓸 라이브러리라면 (이런 경우 상당히 많죠) 어차피 다 자기한테 필요한 소스일 테니 큰 의미가 없죠.
댓글 달기