라이브러리
[PHP] FFICType::getKind
FFICType::getKind
FFICType은 PHP의 FFI (Foreign Function Interface) 모듈에서 사용되는 클래스입니다. FFI는 C/C++ 함수를 PHP에서 호출할 수 있도록 해주는 모듈입니다. FFICType은 C/C++ 타입을 PHP에서 사용할 수 있도록 해주는 클래스입니다.
FFICType::getKind는 FFICType의 인스턴스에서 호출할 수 있는 메서드입니다. 이 메서드는 FFICType의 인스턴스에 대한 종류를 반환합니다. 종류는 FFICType::TYPE_* 상수 중 하나입니다.
# 예제
#hostingforum.kr
php
// FFI 모듈을 사용하기 위해 초기화합니다.
$ffi = FFI::cdef("
int add(int a, int b);
", "libmath.so");
// FFICType 인스턴스를 생성합니다.
$type_int = $ffi->new('int');
// FFICType::getKind 메서드를 호출합니다.
$kind = $type_int->getKind();
// 종류를 출력합니다.
echo "종류: " . FFICType::TYPE_INT . "
";
# 종류
FFICType::getKind 메서드는 FFICType의 인스턴스에 대한 종류를 반환합니다. 종류는 FFICType::TYPE_* 상수 중 하나입니다. 다음과 같이 종류를 정의할 수 있습니다.
#hostingforum.kr
php
// FFICType::TYPE_* 상수 중 하나
const TYPE_INT = 1;
const TYPE_FLOAT = 2;
const TYPE_CHAR = 3;
const TYPE_VOID = 4;
const TYPE_PTR = 5;
const TYPE_ARRAY = 6;
const TYPE_STRUCT = 7;
const TYPE_UNION = 8;
const TYPE_FUNC = 9;
const TYPE_POINTER = 10;
const TYPE_INT64 = 11;
const TYPE_UINT64 = 12;
const TYPE_INT32 = 13;
const TYPE_UINT32 = 14;
const TYPE_INT16 = 15;
const TYPE_UINT16 = 16;
const TYPE_INT8 = 17;
const TYPE_UINT8 = 18;
# 종류별 예제
#hostingforum.kr
php
// FFICType 인스턴스를 생성합니다.
$type_int = $ffi->new('int');
$type_float = $ffi->new('float');
$type_char = $ffi->new('char');
$type_void = $ffi->new('void');
$type_ptr = $ffi->new('int*');
$type_array = $ffi->new('int[10]');
$type_struct = $ffi->new('struct { int a; float b; }');
$type_union = $ffi->new('union { int a; float b; }');
$type_func = $ffi->new('int (*func)(int)');
$type_pointer = $ffi->new('int*');
$type_int64 = $ffi->new('int64');
$type_uint64 = $ffi->new('uint64');
$type_int32 = $ffi->new('int32');
$type_uint32 = $ffi->new('uint32');
$type_int16 = $ffi->new('int16');
$type_uint16 = $ffi->new('uint16');
$type_int8 = $ffi->new('int8');
$type_uint8 = $ffi->new('uint8');
// 종류를 출력합니다.
echo "int 종류: " . $type_int->getKind() . "
";
echo "float 종류: " . $type_float->getKind() . "
";
echo "char 종류: " . $type_char->getKind() . "
";
echo "void 종류: " . $type_void->getKind() . "
";
echo "int* 종류: " . $type_ptr->getKind() . "
";
echo "int[10] 종류: " . $type_array->getKind() . "
";
echo "struct { int a; float b; } 종류: " . $type_struct->getKind() . "
";
echo "union { int a; float b; } 종류: " . $type_union->getKind() . "
";
echo "int (*func)(int) 종류: " . $type_func->getKind() . "
";
echo "int* 종류: " . $type_pointer->getKind() . "
";
echo "int64 종류: " . $type_int64->getKind() . "
";
echo "uint64 종류: " . $type_uint64->getKind() . "
";
echo "int32 종류: " . $type_int32->getKind() . "
";
echo "uint32 종류: " . $type_uint32->getKind() . "
";
echo "int16 종류: " . $type_int16->getKind() . "
";
echo "uint16 종류: " . $type_uint16->getKind() . "
";
echo "int8 종류: " . $type_int8->getKind() . "
";
echo "uint8 종류: " . $type_uint8->getKind() . "
";
# 참고
FFICType::getKind 메서드는 FFICType의 인스턴스에 대한 종류를 반환합니다. 종류는 FFICType::TYPE_* 상수 중 하나입니다. 이 메서드는 FFI 모듈에서 사용되는 FFICType 클래스의 인스턴스에 대한 종류를 반환합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.