from_raw_parts — 포인터와 길이로 슬라이스 생성

from_raw_parts — 포인터와 길이로 슬라이스 생성

from_raw_parts는 포인터와 길이로부터 슬라이스를 만드는 함수예요.

출처: Rust 공식 문서

본문

pub const unsafe fn from_raw_parts<'a, T>(data: *const T, len: usize) -> &'a [T]

len 인자는 요소의 개수이지 바이트 수가 아니에요.

안전성(Safety)

다음 조건을 위반하면 동작이 정의되지 않아요(undefined behavior).

  • data는 유효한 메모리에 대한 포인터여야 해요.
  • data가 가리키는 메모리는 len * size_of::<T>() 바이트만큼 유효해야 해요.
  • 전체 메모리 범위는 정렬(alignment) 되어야 해요.
  • 메모리는 읽기 가능해야 해요.

이 함수는 unsafe이므로 호출자가 위 안전 조건을 보장해야 해요.

더 알아보기 (Learn more)