FFI::new
(PHP 7 >= 7.4.0, PHP 8)
FFI::new — C 데이터 구조를 생성합니다.
설명
ublic static FFI::new(FFI\CType|string $type
, bool $owned
= true, bool $persistent
= false
): ?FFI\CData
public FFI::new(FFI\CType|string $type
, bool $owned
= true, bool $persistent
= false
): ?FFI\CData
주어진 C 유형의 기본 데이터 구조를 생성합니다. 이 메서드가 정적으로 호출되면 미리 정의된 C 유형 이름(예: int
, char
등)만 사용해야 합니다. 메소드가 인스턴스 메소드로 호출되면 인스턴스에 대해 선언된 모든 유형이 허용됩니다.
매개변수
type
type
은 문자열로 유효한 C 선언이거나 이미 생성된 FFI\CType의 인스턴스입니다.owned
- 소유(즉, 관리) 또는 비관리 데이터를 생성할지 여부. 관리되는 데이터는 반환된 FFI\CData 개체와 함께 존재하며 해당 개체에 대한 마지막 참조가 일반 PHP 참조 계산 또는 GC에 의해 해제될 때 해제됩니다. 관리되지 않는 데이터는 더 이상 필요하지 않을 때 FFI::free()를 호출하여 해제해야 합니다.
persistent
- C 데이터 구조를 시스템 힙(malloc() 사용) 또는 PHP 요청 힙(emalloc() 사용)에 영구적으로 할당할지 여부.
반환 값
새로 생성된 FFI\CData 개체를 반환하거나 실패 시 null
을 반환합니다.