分享到: 分享到QQ  分享到Twitter

作者: BigLoser    访问次数: 583 创建时间: 2020-09-27 20:37:58 更新时间: 2024-05-03 16:07:47

今年六月,Apple 推出了 Swift System,这是一个底层系统接口库。现在 Swift System 已开源并增加了 Linux 支持。Apple 称,他们的目标是为所有受支持的 Swift 平台的底层系统接口提供常态化解决方案。

 

如多数常规操作一样,Swift 支持 C 接口,但是从 C 导入的一些弱类型系统接口可能容易出错且难以处理,无法充分利用 Swift 的类型安全特性。因此,Swift System 模块引入了多种语言功能,以提高表达能力并消除出现错误的机会。 

 

Swift 团队工程师 Michael Ilseman 举了这样一个例子:Swift System 使用 FileDescriptor 命名空间中的默认参数将 open 系统调用定义为静态函数:

 

 

与 C 版本相比,Swift System 普遍使用原始的可表示结构和选项集,这些强类型有助于在编译时捕获错误,而且能够方便地在弱 C 类型之间来回转换。标准语言机制和信号中断重试行为也极大地简化了错误和信号处理。另外,与 UnsafePointer<CChar> 相比,FilePath 使用起来更加安全。

 

Swift System 是一个多平台库,而非跨平台。它根据特定情况,为每个受支持的平台提供单独的 API 和行为。目前 Swift System 处于起步阶段,仅包括少量系统调用、currency 类型和一些方便的功能。为扩大 API 覆盖范围,Apple 表示正致力于在 Swift Package Manager 中采用 Swift System。同时,Swift 对 Windows 的支持也会进一步增强。

年度最有价值文章

季度最有价值文章

月度最有价值文章

投票统计

是否原创: 0 %

0 % Complete (success)

是否有价值: 0 %

0% Complete

是否有素质: 0 %

0% Complete (warning)

是否合法: 0 %

0% Complete

   群组工具

   外部链接