라이브러리

[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 클래스의 인스턴스에 대한 종류를 반환합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 550 페이지

검색

게시물 검색