Swift5.1——前言

主要是针对Swift5.1,基础语法,和内部剖析。

基础语法

为什么选择Swift5.1

  • 历时5年发展,从Swift1.x发展到Swift5.x,经历了多次重大改变,ABI终于稳定
  • API(Application Programming Interface):应用程序编程接口
    • 源代码和库之间的接口
  • ABI(Application Binary Interface):应用程序二进制接口
    • 应用程序与操作系统之间的底层接口
    • 涉及内容有:目标文件格式、数据类型的大小/布局/对齐、函数调用约定等等
  • Swift是完全开源的 https://github.com/apple/swift 主要采用C++编写

编译流程

参考地址 https://swift.org/compiler-stdlib/

编译流程

swiftc

何为swiftc:

  • swiftc存放在Xcode内部
    • Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
  • 基本操作
    • 生成语法树: swiftc -dump-ast main.swift
    • 生成最简洁的SIL代码:swiftc -emit-sil main.swift
    • 生成LLVM IR代码: swiftc -emit-ir main.swift -o main.ll
    • 生成汇编代码: swiftc -emit-assembly main.swift -o main.s

Xcode中创建一个Swift工程,swift从第一行有效的函数开始运行

import Foundation

print("Hello, World!")

在终端使用swiftc -dump-ast main.swift 语法生成语法树,其他类似可以自己尝试

语法树
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容