버퍼 크기 확인 함수 설명
이 문서는 buffer_sizeof
함수에 대해 설명합니다. 이 함수는 주어진 버퍼 데이터 타입 상수의 크기를 바이트 단위로 반환합니다.
문법
buffer_sizeof(type);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
type | Buffer Data Type Constant | 확인할 데이터의 타입 (상수 목록 참조) |
반환값
- Real: 주어진 데이터 타입의 크기(바이트 단위)
예제
아래 코드는 버퍼를 생성하기 위해 필요한 크기를 계산하는 예제입니다.
var _bytesize = 12 * buffer_sizeof(buffer_u8);
buff = buffer_create(_bytesize, buffer_fixed, 1);
위의 코드는 먼저 부호 없는 8비트 데이터 타입의 크기를 12배 곱하여 버퍼의 크기를 계산합니다. 이 버퍼는 12개의 데이터를 저장하기 위해 각 1바이트 크기를 가집니다. 이후 이 값을 사용하여 고정 크기의 버퍼를 생성합니다.
활용 예제
- 버퍼 크기 계산
- 다양한 데이터 타입에 대해 버퍼 크기를 계산하여 동적으로 메모리를 할당할 수 있습니다.
gml var size_u16 = 10 * buffer_sizeof(buffer_u16); var size_f32 = 5 * buffer_sizeof(buffer_f32);
- 버퍼 생성 및 초기화
- 계산된 크기를 사용하여 버퍼를 생성하고 초기화할 수 있습니다.
gml var buff_u16 = buffer_create(size_u16, buffer_fixed, 1); var buff_f32 = buffer_create(size_f32, buffer_fixed, 1);
- 버퍼 데이터 읽기 및 쓰기
- 생성된 버퍼에 데이터를 쓰거나 읽을 수 있습니다.
gml buffer_write(buff_u16, buffer_u16, 12345); var value = buffer_read(buff_u16, buffer_u16);
- 버퍼 크기 조정
- 필요에 따라 버퍼의 크기를 조정할 수 있습니다.
gml buffer_set_used_size(buff_u16, size_u16);
- 버퍼 삭제
- 더 이상 필요하지 않은 버퍼는 삭제하여 메모리를 해제할 수 있습니다.
gml buffer_delete(buff_u16);
이러한 예제들은 buffer_sizeof
함수를 활용하여 메모리 관리 및 데이터 처리를 효율적으로 수행하는 방법을 보여줍니다.