그래서 lwjgl 3을 사용하고 있으며 stb 라이브러리를 사용하여 텍스트를 렌더링하려고합니다. 내 자신의 구현을 만들려면 this 예제를 사용하고 있습니다. 하지만 malloc을 사용하여 STBTTPackedchar.Buffer를 설정하면 null을 반환합니다. 크기를 3 * 128 대신 6 * 128로 변경하면 문제가 없습니다. 어쩌면 이것이 malloc에 대한 나의 이해에 문제가되는 것일까? 내 지식으로는 malloc은 바이트 형태로 메모리를 할당하고 그 공간 메모리를 할당 할 수없는 경우 null을 반환합니다. 그렇다면 왜 내 컴퓨터에 메모리가 충분하지 않아서 null이 반환 될지 이해할 수 없습니다.LWJGL 3 malloc이 null을 반환합니까?
가 여기에 최소한의 테스트 케이스이다 : 구조체 버퍼의 크기 malloc
(안 calloc
) 할당에 영향을 미치는 LWJGL 3.1.3 버전에서 버그가 있습니다
import org.lwjgl.stb.STBTTPackedchar;
public class Test {
private static STBTTPackedchar.Buffer chardata;
public static void main(String[] args) {
chardata = STBTTPackedchar.malloc(6 * 128);
if (chardata == null) {
System.out.println("Null");
} else {
System.out.println("Not Null");
}
chardata.free();
}
}