
FFICType::getStructFieldOffset 함수는 구조체 필드의 오프셋 값을 반환합니다. 오프셋 값은 구조체의 시작 주소에서 필드의 시작 주소까지의 거리입니다.
위의 예시 구조체 `TestStruct`의 필드 `a`와 `b`의 오프셋 값을 계산하는 방법은 다음과 같습니다.
- `a` 필드의 오프셋 값은 구조체의 시작 주소에서 `a` 필드의 시작 주소까지의 거리입니다. 이는 `a` 필드의 크기인 4바이트로 계산됩니다.
- `b` 필드의 오프셋 값은 구조체의 시작 주소에서 `b` 필드의 시작 주소까지의 거리입니다. 이는 `a` 필드의 크기인 4바이트와 `b` 필드의 크기인 4바이트로 계산됩니다.
따라서 `a` 필드의 오프셋 값은 0, `b` 필드의 오프셋 값은 4입니다.
#hostingforum.kr
cpp
struct TestStruct {
int32_t a;
float b;
};
int main() {
TestStruct testStruct;
// a 필드의 오프셋 값은 0
int offsetA = offsetof(TestStruct, a);
std::cout << "a 필드의 오프셋 값: " << offsetA << std::endl;
// b 필드의 오프셋 값은 4
int offsetB = offsetof(TestStruct, b);
std::cout << "b 필드의 오프셋 값: " << offsetB << std::endl;
return 0;
}
위 코드를 실행하면 `a` 필드의 오프셋 값이 0, `b` 필드의 오프셋 값이 4인 것을 확인할 수 있습니다.
2025-06-26 06:13