【发布时间】:2010-09-18 11:46:23
【问题描述】:
我正在使用 Objective-C NSMethodSignature / @encode 工具进行一些跨语言数据类型转换,这意味着我需要能够以编程方式将值复制到以 @encode() 格式描述的结构中。例如,我可能有 4 个浮点数,需要将它们插入到 CGRect 中,这是一个包含 2 个结构的结构,每个结构包含 2 个浮点数。在@encode 术语中,类型是这样的:
{CGRect={CGPoint=ff}{CGSize=ff}}
为此,我需要能够猜测结构布局,只知道原始结构成员的数据类型——在本例中为 4 个浮点数。
从历史上看,ARM 结构对齐有两种不同的约定。一种是将结构的所有成员对齐到满足最大成员的边界大小。另一种是将所有成员对齐到适合每个成员数据类型的边界大小。
在 ARM 和 x86 / x86_64 上的 OS X / iPhone OS 中使用哪个?
【问题讨论】:
-
我误解了你想要做的事情,仔细查看后我仍然没有很好的掌握。你能解释更多关于你如何尝试使用这些信息的信息吗?您是否尝试用另一种语言动态创建结构?您是否正在尝试将数据从一个移动到另一个?
标签: iphone objective-c