@embedFile
@embedFile
프로그램에 파일 내용을 통째로 넣어야 할 때가 있어요. 예를 들면 셰이더 코드나 템플릿, 아이콘 같은 바이너리를 소스 안에 포함시켜야 하는 상황이죠. 이럴 때 파일을 읽고 문자열로 만들어 붙여 넣는 대신, @embedFile을 쓰면 컴파일 시점에 파일을 그대로 내장할 수 있어요.
본문
@embedFile(comptime path: []const u8) *const [N:0]u8
@embedFile은 path가 가리키는 파일의 바이트 수와 길이가 같은, null 종료 고정 크기 배열에 대한 컴파일 시점 상수 포인터를 돌려줘요. 배열의 내용은 말 그대로 그 파일의 내용이고요. 정리하면 이건 그 파일 내용을 담은 문자열 리터럴(string literal)과 동일하다고 보면 돼요.
path는 @import와 마찬가지로 현재 파일 기준의 절대 경로 또는 상대 경로로 지정해요.
더 알아보기
- @import — 파일의 종속성을 컴파일 시점에 추가할 때 사용하는 빌트인.
@embedFile과 비슷한 경로 규칙을 따라요.