Swift--编译生成SIL(Swift Intermediate Language)
来源:互联网 发布:怎么建立子域名 编辑:程序博客网 时间:2024/05/16 00:29
对于下面的代码:
class Point { var x:Int var y:Int init(x:Int, y:Int) { self.x = x self.y = y } }var pt = Point(x:111, y:222)pt.x = 2015var data = pt.x
♦ xcrun编译.swift生成中间文件.sil(swift intermediate language)
$ xcrun -sdk macosx swiftc -emit-silgen point.swift -o point.sil
在编译生产的中间文件point.sil中可以看到:
sil_vtable Point { #Point.init!initializer.1: _TFC5point5PointcfMS0_FT1xSi1ySi_S0_ // point.Point.init (point.Point.Type)(x : Swift.Int, y : Swift.Int) -> point.Point #Point.deinit!deallocator: _TFC5point5PointD // point.Point.__deallocating_deinit #Point.x!getter.1: _TFC5point5Pointg1xSi // point.Point.x.getter : Swift.Int #Point.x!setter.1: _TFC5point5Points1xSi // point.Point.x.setter : Swift.Int #Point.x!materializeForSet.1: _TFC5point5Pointm1xSi // point.Point.x.materializeForSet : Swift.Int #Point.y!getter.1: _TFC5point5Pointg1ySi // point.Point.y.getter : Swift.Int #Point.y!setter.1: _TFC5point5Points1ySi // point.Point.y.setter : Swift.Int #Point.y!materializeForSet.1: _TFC5point5Pointm1ySi // point.Point.y.materializeForSet : Swift.Int}
编译器自动生成了setter和getter
0 0
- Swift--编译生成SIL(Swift Intermediate Language)
- Intermediate Core Graphics(Swift)一
- Intermediate Core Graphics(Swift)二
- Intermediate Core Graphics(Swift)三
- The Swift Programming Language
- The Swift Programming Language
- The Swift Programming Language
- The Swift Programming Language
- The Swift Programming Language
- The Swift Programming Language
- The Swift Programming Language
- Swift - Swift生成随机数
- The Swift Programming Language中文版 ----About Swift
- Swift学习: The Swift Programming Language 01
- [中文翻译]<The Swift Programming Language> - About Swift 关于Swift
- [精校版]The Swift Programming Language-欢迎使用Swift-Swift 初见
- 《The programming language Swift》读书笔记
- 《The Swift Programming Language》中文版
- 不错的学习网站
- leetcode30
- 使用spark与ElasticSearch交互
- 奇偶数分离(还有些细节问题)
- 异常控制流--进程的基石
- Swift--编译生成SIL(Swift Intermediate Language)
- linux 常用性能监控工具备忘
- flume 采集数据到hdfs
- Codeforces Round #323 (Div. 2) C. GCD Table
- linux git branch 与 git format-patch的用法
- 一个=引发的血案
- 使用友盟SDK实现新浪微博登录
- iOS把文字转换成中文拼音
- Codeforces Round #324 (Div. 2) 584C. Marina and Vasya