Objective-C NSMethodSignature/@encode 기능을 사용하여 일부 언어 간 데이터 형식 변환을 수행하고 있습니다. 즉, @encode() 형식으로 설명 된 구조에 값을 프로그래밍 방식으로 복사 할 수 있어야합니다. 예를 들어, 나는 4 개의 float을 가질 수 있고 CGRect에 그것들을 삽입 할 필요가있다. CGRect는 2 개의 구조체를 포함하는 구조체이다. 각각은 2 개의 float을 포함한다. @encode 용어로, 유형이 있습니다 :iPhone OS에서 구조체 정렬에 대한 정확한 규칙은 무엇입니까?
{CGRect={CGPoint=ff}{CGSize=ff}}
나는 원시적 인 구조 구성원의 데이터 유형을 알고 구조 레이아웃을 추측 할 수 있어야이 이렇게하려면 -이 경우 4 수레에 있습니다.
역사적으로 ARM 구조체 정렬에는 두 가지 다른 규칙이 있습니다. 하나는 구조체의 모든 멤버를 가장 큰 멤버를 만족시키는 경계 크기에 정렬하는 것이 었습니다. 다른 하나는 각 멤버의 데이터 유형에 적합한 경계 크기의 모든 멤버를 정렬하는 것이 었습니다.
ARM 및 x86/x86_64에서 OS X/iPhone OS에 사용되는 것은 어느 것입니까?
나는 당신이하려고했던 것을 잘못 이해했으며, 그것을 더 자세히 검토 할 때 나는 여전히 좋은 이해력을 가지고 있지 않습니다. 이 정보를 어떻게 사용하는지 자세히 설명해 주시겠습니까? 다른 언어로 구조를 동적으로 생성하려고합니까? 데이터를 다른 곳으로 이동하려고합니까? –