Avatar
SwiftモジュールはSwiftの言語上の概念で、大雑把にimportできるインターフェイスの単位と言ってあっていると思います。ただ、モジュール自体はリンクの方法やパッケージング方式には関与しません。 ライブラリ(.a, .dylib)はリンカによってリンクされる単位で、Swiftの文化では基本的にモジュールと1対1に対応していますが、絶対にそうでないといけないというわけでもないです。 バンドル形式(.app, .bundle, .framework)はAppleプラットフォームで使える取り回しのしやすいリソースのパッケージング形式で、プログラム(ライブラリや実行形式)とヘッダファイル(.hやSwiftのモジュールファイル)とリソースをまとめるモノという理解です。 https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html
Explains how to use bundle objects to organize resources.
12:38 AM
3. それぞれの.oを一つにまとめてそのモジュールの .o (Object Code) を生成する(これをLinkという)
おそらく、これは.oをarでまとめて.aを生成するアーカイブだとおもいます(多分…) 手元で試してみたんですが、生成されているのはちゃんと再配置可能なオブジェクトファイルでした。🙇 アーカイブにすると使われないシンボルがリンクされなくて困るからなのかな?ライブラリを使う側でオブジェクトファイルを列挙すればいい気がするけど…(SwiftPMはそうなってる)
(edited)