【问题标题】:Are commented codes removed from compiled binary for iOS Swift?是否从 iOS Swift 的编译二进制文件中删除了注释代码?
【发布时间】:2022-01-04 02:27:55
【问题描述】:

Swift 新手,无法通过可靠来源找到答案。

我有一些注释代码,但想知道它们是否在 Debug/Release 中编译/运行时被删除,以及是否强制执行或可以打开/关闭。

如果它们确实被移除了,那些我真的需要它们在里面的实例呢,例如一些框架还是什么?

提前致谢!

【问题讨论】:

  • 注释在编译期间完全从代码中删除,如果仍然被注释掉,没有办法强制代码以某种方式被包含在内。你能解释一下为什么你可能需要那些被注释掉的代码来包含在你的最终产品中吗?为什么不能不注释代码?
  • 抱歉,我应该将“注释代码”改写为“{code} cmets”,我的错。
  • 啊。在这种情况下,您能否在问题中添加一个示例,展示您想要包含的评论类型?一方面,在你编译了一个框架之后,你希望别人如何能够阅读 cmets? (因为他们无法访问源代码……除非您分发源代码,在这种情况下,编译后是否删除 cmets 并不重要,是吗?)
  • 想不出任何例子,但有时我们想 Option + 单击它以显示函数或变量的一些 cmets,但如果它是框架或包我猜源代码不是可访问,但我们仍然希望查看文档。我刚刚遇到developer.apple.com/documentation/xcode/…,基于developer.apple.com/documentation/xcode/…,似乎cmets 仍被完全删除,但如果它是DocC“兼容”cmets(// 除外),那么它被“保存”..

标签: ios swift


【解决方案1】:

如果您在 swift 包中创建内联文档,则它们可供消费者使用。如果您提供 Docc 资产,消费者也可以使用该资产。

如果您创建二进制文件,这取决于它的创建和分发方式。

除非出于安全考虑不共享源代码,否则我会做一个带有文档 cmets 的 vanilla SwiftPackage。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    • 2012-06-20
    • 2022-08-20
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    相关资源
    最近更新 更多