Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Clean Code
- 리펙토링
- Observable
- 리팩토링
- map
- SWIFT
- uiscrollview
- swiftUI
- ribs
- 리펙터링
- 클린 코드
- combine
- uitableview
- ios
- collectionview
- Refactoring
- 스위프트
- Protocol
- rxswift
- tableView
- HIG
- UICollectionView
- RxCocoa
- Xcode
- Human interface guide
- swift documentation
- MVVM
- clean architecture
- UITextView
- 애니메이션
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] Static Library vs Dynamic Library (Cocoapods의 use_frameworks! 의미, 정적 라이브러리, 동적 라이브러리) 본문
iOS 응용 (swift)
[iOS - swift] Static Library vs Dynamic Library (Cocoapods의 use_frameworks! 의미, 정적 라이브러리, 동적 라이브러리)
jake-kim 2021. 12. 14. 22:12기본 지식 - Compile, Link
- 실행파일 까지, Source Code -> Object Code -> Executable 진행
- compile: 사람이 이해하는 `Source Code`를 컴퓨터가 이해할 수 있는 언어 `Object Code`로 바꾸는 작업
Source Code -> Object Code - link: 컴퓨터가 이해할 수 있는 `Object Code`에서 실행 가능한 파일로 변경하는 작업
Object Code -> Executable
> 컴파일하면 *.lib(링크 시 필요), *.dll(실행 시 필요) 파일이 자동으로 생성
Static Library, Dydnamic Library
- 라이브러리를 사용할 프로젝트에 포함시키는 시점의 차이가 존재
- Static Library: link 시점에 라이브러리를 executable 파일 바이너리에 포함
- Dynamic Library: run time 중에 프로그램에 해당 라이브러리 코드를 찾아서 연결
- 각 단점
- Static Library: 불필요하게 실행 파일들이 커지고 memory 공간 활용의 효율이 낮은 단점 존재
- Dynamic Library: 공유 라이브러리를 메모리에 올리려면, 찾고 올리는데에 시간이 걸리므로 성능 저하
- 각 장점
- Static Library: 실행 바이너리속에 라이브러리들이 포함되어 있으므로 별도의 추가 작업없이 독립적으로 라이브러리 사용가능
- Dynamic Library: 필요시 사용할 수 있도록 최소한의 정보만 포함하여 링크하므로 메모리 효율이 상승
Cocoapods에서 use_frameworks!의미
- Cocoapods은 Dynamic Library만 지원하는데, 이때 Dyanamic Library를 사용한다는 명시적인 의미로, use_frameworks!로 선언
'iOS 응용 (swift)' 카테고리의 다른 글
[iOS - swift] RxSwift, RxSwiftExt, RxOptional 많이 쓰는 연산자 정리 (0) | 2021.12.21 |
---|---|
[iOS - swift] RxDataSources를 사용한 PrefetchItems, Pagination (페이지네이션) (0) | 2021.12.19 |
[iOS - swift] Operation, OperationQueue, 동시성 (4) | 2021.12.12 |
[iOS - swift] KeyPath, map(\.) 연산자 (0) | 2021.12.11 |
[iOS - swift] RxCocoa로 TableView delegate 처리 방법 (2) | 2021.12.10 |
Comments