gpt4 book ai didi

ios - 每个框架内的 module.modulemap 文件中的 export * 是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:31 29 4
gpt4 key购买 nike

我创建了一个名为Communication 的框架,在框架容器中有一个module.modulemap 文件。

module.modulemap

framework module Communication {
umbrella header "Communication.h"

export *
module * { export * }
}

我可以理解该模块需要伞头来将其暴露给包含应用程序/目标。

但是另外两行代码是什么意思。

  export *
module * { export * }

如果有人知道这条线输出什么?

最佳答案

Objective-C 和 Swift 的 Objective-C 模块映射 (.modulemap)

Objective-C 语言为 Objective-C 和 Swift 语言公开了 API 思想 .modulemap

[ObjC Module]

[Custom .modulemap]

关于LLVM Modules and Module Map Language . Modulemap外部 二进制文件公开C 头文件。它是模块和 header 之间的桥梁。 Modulemap 有助于转换 #include, #import -> @import 因为它内部有模块名称和 header 之间的映射。 modulemap 还有助于创建独立的附加 模块和子模块。 Modulemap可以包含很多模块(只有一个必须与产品名称同名)和很多子模块

//Objective-C exposes API thought .modulemap for Objective-C and Swift

.h.m uses .h.m = Objective-C consumer, Objective-C producer = .modulemap
.swift uses .h.m = Swift consumer, Objective-C producer = .modulemap

包含.modulemap的框架称为Modular Framework。路径:

module_name.framework/Modules/module_name.modulemap

设置

  • 创建库时[Example]您应该手动创建和设置它
  • 创建框架时[Example]它是自动设置的

即使你创建了 Swift 框架,Xcode 也会自动创建 modulemap

[Mixing Objective-C and Swift in the same Application]

关于ios - 每个框架内的 module.modulemap 文件中的 export * 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47036023/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com