User-Defined 리소스
사용자 정의 리소스 정의 문은 애플리케이션별 데이터를 포함하는 리소스를 정의합니다. 데이터에는 모든 형식이 있을 수 있으며 지정된 파일의 콘텐츠( filename 매개 변수가 지정된 경우) 또는 일련의 숫자와 문자열( 원시 데이터 블록이 지정된 경우)으로 정의할 수 있습니다.
nameID typeID filename
파일 이름은 리소스의 이진 데이터를 포함하는 파일의 이름을 지정합니다. 파일의 내용이 리소스로 포함됩니다. RC는 이진 데이터를 어떤 방식으로도 해석하지 않습니다. 데이터가 대상 컴퓨터 아키텍처에 맞게 올바르게 정렬되도록 하는 것은 프로그래머의 책임입니다.
다음 구문을 사용하여 리소스 스크립트에서 사용자 정의 리소스를 완전히 정의할 수도 있습니다.
nameID typeID { raw-data }
매개 변수
-
nameID
-
고유 이름 또는 리소스를 식별하는 16비트 부호 없는 정수입니다.
-
Typeid
-
고유 이름 또는 리소스 유형을 식별하는 16비트 부호 없는 정수입니다. 숫자가 지정되면 255보다 커야 합니다. 1에서 255까지의 숫자는 기존 및 나중에 다시 정의된 리소스 종류에 대해 예약됩니다.
-
파일
-
리소스 데이터가 포함된 파일의 이름입니다. 매개 변수는 유효한 파일 이름이어야 합니다. 파일이 현재 작업 디렉터리에 없는 경우 전체 경로여야 합니다.
-
원시 데이터
-
하나 이상의 정수 또는 문자열로 구성된 원시 데이터입니다. 정수는 10진수, 8진수 또는 16진수 형식으로 지정할 수 있습니다. 16비트 Windows와 호환되도록 정수는 WORD 값으로 저장됩니다. 정수에 "L" 접미사를 지정하여 정자를 DWORD 값으로 저장할 수 있습니다.
문자열은 따옴표로 묶입니다. RC는 종결 null 문자를 문자열에 자동으로 추가하지 않습니다. 각 문자열은 "L" 접두사를 사용하여 와이드 문자열로 한정하지 않는 한 지정된 ANSI 문자의 시퀀스입니다.
데이터 블록은 DWORD 경계에서 시작되고 RC는 원시 데이터 블록 내에서 데이터의 패딩 또는 정렬을 수행하지 않습니다. 블록 내에서 데이터의 적절한 정렬을 보장하는 것은 프로그래머의 책임입니다.
예제
다음 예제에서는 여러 사용자 정의 문을 보여 줍니다.
array MYRES data.res
14 300 custom.res
18 MYRES2
{
"Here is an ANSI string\0", // explicitly null-terminated
L"Here is a Unicode string\0", // explicitly null-terminated
1024, // integer, stored as WORD
7L, // integer, stored as DWORD
0x029a, // hex integer
0o733, // octal integer
}