[스크랩] *.res 와 *.rc 의 차이 (*.res vs *.rc)
2012년 06월 30일 | Common 리소스파일 파일이 포스팅은 기존 개발 블로그에서 백업한 포스팅입니다.
- 원문 : https://syung1104.blog.me/160946655
- : 안녕하세요, 임프님?
- 또 질문을 드리네요.
- 프로그램내에 사용하는 비트맵이미지가 많은데 이 이미지들에 대해
- 일일이 경로를 지정하기도 불편하구…
- 방법을 찾아보니까 리소스파일을 이용하는것 같더군요.
- 근데 어떻게 만든는 건가요?
- 글구 *.res와 *.rc파일이 어떻게 다른가요?
- 자세히 좀 알려주세요.
임펠리테리입니다.
.res 파일과 .rc 파일의 차이는 간단합니다. .res는 2진파일이고 .rc 파일은 res를 만들어내기 위한 텍스트 소스입니다. 이 두가지의 차이는 .obj와 .cpp의 차이와 동일합니다.
원래 MS에서 윈도우즈 API(Win16부터)를 만들때 리소스를 직접 2진파일인 .res를 만들도록 하지 않고 먼저 텍스트형식의 .rc 파일을 만든 후 그것을 MS에서 제공하는 리소스 컴파일러(rc.exe)로 컴파일해서 2진 파일인 .res 파일을 만들도록 했습니다.
그런데 리소스 파일이란게 당연히 데이터만 들어가므로, .res 파일은 .obj 파일만큼 복잡하지 않죠. 내부를 헥스코드 에디터 등으로 뒤져보면 아이콘이나 비트맵 등등 리소스에 해당하는 데이터가 그대로 들어있다는 것을 알 수 있습니다.
볼랜드에서는 윈도우즈 환경의 초기였던 볼랜드 C++(윈도우즈 지원은 3.5 버전 이후) 시절에는 MS의 sdk에서와 동일하게 .rc파일을 컴파일해서 사용할 수 있도록 자체 리소스 컴파일러까지 제공했고, 이것을 좀더 편하게 작업할 수 있도록 리소스 워크샵이라는 별도의 제품을 개발해서 판매하기도 했습니다. 그랬던 것이 델파이와 빌더에 와서는 아예 .rc 파일을 사용하지 않고 그냥 .res 파일을 사용하도록 해버렸습니다. 델파이와 빌더에 포함된 볼랜드 이미지 에디터를 이용하면 .res 파일을 직접 생성하고 거기에 아이콘이나 비트맵 등을 추가할 수 있습니다. (이것이 첫번째 질문이었지요?) 물론 이미지 에디터의 기능에는 한계가 있어서, 그 이름대로 이미지만 집어넣을 수 있습니다. 그 외의 데이터, 즉 스트링이나 다른 리소스 포맷들, 그리고 사용자정의의 데이터포맷 등을 포함하는 리소스파일을 작성하려면 직접 .rc 파일을 작성해야 합니다. 빌더의 정품 시디에는 리소스 워크샵 인스톨 버전이 포함되어 있었던 것 같은데, 확인해보아야 하겠구요.
그럼 참고하시길…
출처 : http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=4411
Comments