美文网首页
第一课 基础语法和汇编初探

第一课 基础语法和汇编初探

作者: 飘摇的水草 | 来源:发表于2024-03-16 17:25 被阅读0次

Swift版本

Swift版本

  • 历时5年发展,从Swift l.x发展到了Swift5.x版本,经历了多次重大改变,ABI终于稳定

    • API ( Application Programming Interface):应用程序编程接口

      • 源代码和库之间的接口
    • ABI ( Application Binary Interface):应用程序二进制接口

      • 应用程序与操作系统之间的底层接口
      • 涉及的内容有:目标文件格式、数据类型的大小布局\对齐、函数调用约定等等
  • 随着ABI的稳定, Swift语法基本不会再有太大的变动,此时正是学习Swift的最佳时刻

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
  • 对汇编代码进行分析,可以真正掌握编程语言的本质

Playground

下面的代码是用 Playground 来创建视图

import  UIKit
import  PlaygroundSupport

let view = UIView()
view.frame = CGRect(x:0, y: 0, width: 100, height: 100)
view.backgroundColor = UIColor.red;
PlaygroundPage.current.liveView = view

注释

  • Playground的注释支持markup语法(与markdown相似)
  • Swift支持多行嵌套注释

常量

  • 只能赋值一次
  • 它的值不要求在编译时期确定,但使用之前必须赋值一次
    • 常量、变量在初始化之前,都不能使用
let age : Int
var height : Int
print(age)    //报错
print(height)   //报错

标识符

  • 几乎可以使用任何字符
  • 标识符不能以数字开头,不能包含空白字符、制表符、箭头等特殊字符

数据类型

image.png

字面量

如果是字符串,不用标明类型,如下所示

var string = "myString"

如果是单个字符,默认还是字符串类型,如果想要让它为 Character 类型,一定要在定义时声明

var char : Character = "C"
数组
var array = ["1", "2", "3"]
字典
var dict = ["1":1, "2":2, "3":3]
类型转换

以下为整数转换

var a:UInt8 = 8
var b:UInt16 = 10

var c = UInt16(a) + b
print(c)
元组
var  tuple = (404, "not found")
print(tuple.0)
print(tuple.1)

let (statuscode, result) = tuple
print (statuscode)
print(result)


相关文章

  • Swift~基础语法、汇编初探

    本文源自本人的学习记录整理与理解,其中参考阅读了部分优秀的博客和书籍,尽量以通俗简单的语句转述。引用到的地方如有遗...

  • Swift5.1 学习笔记(一)

    基础语法以及汇编原理 oc与swift汇编的区别 编译分为前端编译、后端编译。下面的图就描述了oc和swift编译...

  • 内联汇编

    AT&T汇编语法 GCC只支持AT&T汇编语法内嵌在C语言中。 Intel和AT&T汇编风格对比: AT&T寻址 ...

  • 前言

    前言 本书作为编程达人系列汇编\C语言教材的第一本入门教材,讲述的内容是进制、汇编基础、C语言基础语法。本书并没有...

  • 18本Linux系统和驱动开发相关电子书资源

    1 《GCC内嵌汇编及AT&T汇编语法》 2 《ARM嵌入式系统基础教程》 3 《无界面linux文件系统的制作》...

  • iOS逆向

    ARM64汇编1、汇编初探[https://www.jianshu.com/p/f3ae7cef6659]2、函数...

  • ARM64汇编入门 - 汇编基础

    ARM64汇编入门 - 汇编基础ARM64汇编入门 - 汇编基础

  • 汇编初探

    内存分区代码区:存放代码,可读可执行(macho文件中代码段在这里)栈区:参数,局部变量,临时数据堆区:动态申请,...

  • 第一节 基础语法、汇编初探 Playground使用

    一. 基本知识 swfit5.1后ABI 基本稳定 API: Application Programming I...

  • java

    语法基础1.1 java初体验(语法基础)1.2 变量和常量(语法基础)1.2 变量和常量(语法基础)1.4 流程...

网友评论

      本文标题:第一课 基础语法和汇编初探

      本文链接:https://www.haomeiwen.com/subject/mjygzdtx.html