首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

汇编寄存器的规则

# 汇编寄存器的规则 在本章中,您将了解到 CPU 使用的寄存器,研究和修改传入函数的参数。您还将了解常见的苹果计算机架构,以及如何在函数中使用它们的寄存器。这就是所谓的架构调用约定。...第一个是 英特尔程序集 ,第二个是 AT&T程序集 。默认情况下,Apple 的反汇编程序工具都会以 AT&T 格式显示,就如上例所示。 尽管这是一种很好的格式,但在眼睛上可能会有些困难。...还记得RDI是第一个参数,而RSI是第二个参数吗?在LLDB中,可以通过arg{X}形式来引用寄存器,其中X是参数号。还记得RDI是第一个参数,而RSI是第二个参数吗?...还记得RDI是第一个参数,而RSI是第二个参数吗?在LLDB中,可以通过 arg1 引用第一个参数 (RDI)。随着示例的进行,您可以使用 $arg2 引用第二个参数 (RSI),以此类推。...在 Swift 中,RDI 是第一个参数,RSI 是第二个参数,依此类推,前提是 Swift 方法未使用动态分配。

2.4K50
您找到你想要的搜索结果了吗?
是的
没有找到

AVKit框架详细解析(二) —— 基于视频播放器的画中画实现(一)

接下来您将解决这些问题中的第一个。...但是,如果您构建运行尝试此操作,您将看到画中画窗口立即关闭。 这是因为您的自定义播放器对象被释放,这是唯一保留画中画控制器的东西,因此也被释放。...现在,构建运行。 播放视频并进入画中画模式。 现在启动画中画会关闭自定义播放器控制器,关闭画中画窗口。 但是,如果您点按按钮以从画中画返回标准全屏播放,继续播放相同的视频,则没有任何反应。...4) 如果没有展示控制器,只需再次呈现原始控制器调用completion block。 构建运行。 上面的 GIF显示了两个代码路径: 1) 进入画中画然后恢复继续全屏显示画中画视频。...2)进入画中画,开始第二个视频,然后恢复画中画会用画中画内容替换全屏视频。

2.7K10

swift 基础语法(常量、变量、数值、布尔型、元组)

常量和变量 声明常量和变量 常量和变量必须在使用之前声明 使用let关键字声明常量 使用var关键字声明变量 let a = 10 //声明一个名字是 a 的新常量,赋值为10 var b =...您可以通过启动多行注释块然后在第一个块中开始第二个多行注释来编写嵌套注释。...然后关闭第二个块,然后是第一个块 /* 这是第一个多行注释的开头 /* 这是第二个被嵌套的多行注释 */ 这是第一个多行注释的结尾 */ 分号 Swift并不强制要求你在每条语句的结尾处使用分号(;)...整型 整数是整数,没有小数部分,42、-23 整数有符号(正,零或负)Int32 无符号(正或零)UInt8 整数范围 let minValue = UInt8.min // minValue...这可以让你在开发的时候尽早发现修复错误 let meaningOfLife = 42 //推测为 Int 类型 let pi = 3.14159 // 当推断浮点数的类型时,Swift 总是会选择 Double

14910

如何使用 Swift 开发 iOS PDF 查看器或编辑器

对于早期版本的 Xcode( Xcode 13),Bitcode 选项可能被设置成默认打开,这需要关闭它才能运行。...在 Swift 中开发 iOS PDF 查看器或编辑器在此部分,我们分步说明了如何在 Swift 中开发 iOS 应用程序。...否则,请查看本文末尾的“故障排除”部分或查看控制台中的错误日志,以快速识别解决问题。编译运行该项目。第 5 步:显示 PDF 文档准备一个测试PDF文件,将其拖放到新创建的pdfView项目中。...通过URL创建一个CPDFDocument对象,创建一个CPDFView来显示它。...打开PDF 文件显示。如果无法显示PDF内容,请检查创建的NSURL和对象是否为空,或者创建的CPDFView的大小是否为零。它们不应该是空的。

5300

Swift基础 基本运算符

算术运算符(+、-、*、/、%等)检测禁止值溢出,以避免在处理大于或小于存储它们的类型允许值范围的数字时出现意外结果。您可以选择使用Swift的溢出运算符来评估溢出行为,溢出运算符中所述。...高级运算符涵盖了Swift的高级运算符,描述了如何定义自己的自定义运算符,实现您自己的自定义类型的标准运算符。 术语 运算符是一元、二进制或三元: 一元运算符对单个目标(-a)进行操作。...zebra"不亚于"apple"并不重要,因为比较已经由元组的第一个元素决定了。然而,当元组的第一个元素相同时,它们的第二个元素会进行比较——这就是第二行和第三行发生的事情。...事实上,如果第一个值是false的,第二个值甚至不会被计算,因为它不可能使整个表达式等同于true。这被称为短路评估。...在下面的示例中,第一个Bool值(hasDoorKey)为false,但第二个值(knowsOverridePassword)为true。

7400

SpriteKit简介-创建您的第一个iPhone平台游戏

你创造了你的第一个游戏。 运行模拟器 让我们运行模拟器以确保我们的项目正常运行。点击在屏幕或按下左上角的播放按钮cmd+ R。...为了在我们的Xcode中没有太多面板的情况下创建一个更干净的UI,项目让我们关闭导航器面板,点击Xcode UI右上角的第三个按钮,从右到左依次计算。...首先,让我们选择player / 0让我们将物理定义属性中的Body Type从None更改为Alpha Mask取消选中Allow Rotation。...Z位置 让我们打开我们的项目导航器,然后选择GameViewController.swift。...您可能已经注意到,您已经学到了很多东西,比如如何在Xcode中创建第一个项目,导入资源,设置场景,将一些物理属性应用于节点以及了解Z位置。

3.4K30

你用 iPhone 打王者农药,有人却用它来训练神经网络...

机器学习要想在移动端上应用一般分为如下两个阶段,第一个阶段是训练模型,第二个阶段是部署模型。...这篇文章主要着眼于如何在 iOS 设备上直接为 MNIST 数据集构建和训练一个 LeNet CNN 模型。...接下来,研究者将把它与基于著名的 ML 框架( TensorFlow)的经典「Python」实现方法进行比较。...在 Swift 中为 Core ML 的训练准备数据 在讨论如何在 Core ML 中创建及训练 LeNet CNN 网络之前,我们可以先看一下如何准备 MNIST 训练数据,以将其正确地 batch...同时,也包含了基本的训练信息、超参数等,损失函数、优化器、学习率、epoch 数、batch size 等等。 ? 使用 Adam 优化器训练神经网络,具体参数如下: ?

2.6K20

Swift 周报 第四十一期

如果你不知道要专门去 GitHub 具体搜索苹果的 “Swift” 存储库,然后调整语言设置以使其实际显示这些模板文件,你永远找不到它们。搜索引擎非常努力地不显示 GitHub 源代码的结果。...这有点类似于我们如何在结果构建器中创建本地常量,这些常量不会立即被它消耗。 这个想法将扩展 if、guard 和 while 的条件列表。...文章通过实例演示了 ContentUnavailableView 的基本用法以及如何在其中定义描述文本和操作按钮。...总的来说,我们学会了如何利用 ContentUnavailableView 以用户友好的方式显示空状态。...闭包提供了两个参数:第一个参数是附加到视图的效果集合的初始状态,是 EmptyVisualEffect 类型的实例;第二个参数是 GeometryProxy 类型的实例,包含可能需要的视图所有布局信息,

21340

架构之路 (五) —— VIPER架构模式(一)

在命令式UI范例中——换句话说,在UIKit中——路由router将负责显示视图控制器或激活segue。 SwiftUI将所有目标视图声明为当前视图的一部分,根据视图状态显示它们。...构建运行,现在,您可以编辑trip标题。 编辑旅行名称后保存,重新启动应用程序后将显示更改。 4....第一个只是interactor的路点列表的一个副本。第二个使用mapInfoProvider来计算所有路径点的总距离。第三种方法使用相同的数据provider来获得路点之间的方向。...$waypoints .assign(to: \.waypoints, on: self) .store(in: &cancellables) 第一个订阅获取与interactor的原始距离,并将其格式化以便在视图中显示...,第二个复制路点。

17.4K10

聚焦位置-选择您喜欢的位置放置虚拟物体

让我们为焦点方块添加一个新的Swift文件。右键单击视图控制器+ ARSCNViewDelegate选择新建文件...。然后,选择Swift File,单击Next。...命中测试结果 命中测试返回结果列表,我们只想要这些结果的第一个元素。第一个元素是离相机最近的平面。例如,如果您将相机对准您的桌子,则您希望桌子不是地板。...简而言之,这些结果包含有关变换的信息,方向,位置和比例。 guard let worldTransform = hitTestResult?....DispatchQueue.main.async {self.updateFocusSquare()} 再次运行应用程序注意控制台。 打开和关闭 我们如何为焦点方块添加漂亮的触感?...结论 在本课程中,您已经学习了很多很棒的东西,从创建自己的类开始自定义它。你能够将焦点方块从非活动变形到整个房间循环,并在打开和关闭状态之间切换。焦点方块广泛用于要检测表面的AR应用程序中。

2.4K30

Swift基础 控制流程

index的值设置为范围(1)中的第一个数字,执行循环中的语句。在这种情况下,循环只包含一个语句,该语句从五次表中打印index当前值的条目。...您可能希望在发生错误时运行额外的代码,或者在值变得太高或太低时显示消息。为此,您可以将部分代码附加条件。 Swift提供了两种向代码添加条件分支的方法:if语句和switch语句。...a的第一个字母匹配,其第二个大小写与最后一个字母z匹配。...与C不同,Swift允许多个switch考虑相同的值。事实上,点(0,0)可以匹配本示例中的所有四个情况。但是,如果可以进行多次匹配,则始终使用第一个匹配案例。...fallthrough 在 Swift 中,switch语句不会从每个案例的底部掉到下一个案例中。也就是说,整个switch语句在第一个匹配案例完成后立即完成执行。

9600
领券