TN035: 리소스 파일 및 헤더 파일을 여러 Visual C++를 사용합니다.
[!참고]
온라인 설명서의을 처음 포함 되었습니다 때문 다음 기술 참고 업데이트 되지 않았습니다.따라서 일부 절차 및 항목 오래 되었거나 잘못 된 수 있습니다.최신 정보는 온라인 설명서 색인에서 관심 있는 주제에 대해 검색 하는 것이 좋습니다.
이 주석은 Visual C++ 리소스 편집기에서 여러 리소스 파일을 지 원하는 방법에 대해 설명 합니다 및 헤더 파일 공유를 단일 프로젝트 또는 다중 프로젝트와 어떻게 지원을 활용할 수 있습니다 간에 공유 됩니다.이 참고가 이러한 질문에 대답합니다.
여러 리소스 파일 및/또는 헤더 파일에는 프로젝트와 같이 분할 하려는 경우 수 있습니다?
일반적인 헤더를 공유 하려면 어떻게.두 파일을 H입니다.RC 파일?
어떻게 여러 프로젝트 리소스를 나누지 마십시오.RC 파일?
어떻게 (및 도구) 사이의 빌드 종속성 관리 합니다.RC입니다.CPP를 하 고 있습니다.H 파일?
추가 리소스 파일을 프로젝트에 추가 하는 경우 클래스 마법사 추가 파일의 리소스를 인식 합니다 알고 있어야 합니다.
이 노트는 다음과 같이 위의 질문에 구성 됩니다.
Overview of How Visual C++ Manages Resource Files and Header FilesVisual C++의 리소스 집합을 포함 명령을 여러 리소스 파일과 같은 프로젝트에 헤더 파일을 사용할 수 있습니다 방법에 대 한 개요를 제공 합니다.
Analysis of AppWizard-created .RC and .H Files응용 프로그램 마법사에서 만든 응용 프로그램에서 사용 되는 여러 리소스 및 헤더 파일에 살펴봅니다.이러한 파일 추가 리소스 파일 및 헤더 파일을 프로젝트에 추가할 수 있습니다 위한 좋은 모델 역할을 합니다.
Including Additional Header Files여러 개의 헤더 파일을 포함 시킬 수도 있습니다 하 고 그렇게 하는 방법을 자세히 설명 합니다.
Sharing a Header File Between Two .RC Files간의 여러 헤더 파일을 공유 하는 방법 보여 줍니다.서로 다른 프로젝트에서 또는 동일한 프로젝트에서 RC 파일입니다.
Using Multiple Resource Files in the Same Project여러 프로젝트로 분할 위치를 설명 합니다.RC 파일과 작업을 수행 하는 방법을 자세히 설명 합니다.
Enforcement of Non-Editable Visual C++ Files어떻게 하면 Visual C++ 편집 하지 않고 사용자 지정 리소스를 실수로 포맷 되는지 확인할 수 있습니다 설명 합니다.
Managing Symbols Shared by Multiple Visual C++-Edited .RC Files여러 문장 부호와 공유 하는 방법에 설명 합니다.RC 파일 및 중복 ID 숫자 값을 할당 하지 않도록 하는 방법.
Managing Dependencies Between .RC, .CPP, and .H Files불필요 한 다시 컴파일하지 Visual C++를 어떻게 피할 수에 대해 설명 합니다.리소스 기호 파일에 의존 하는 CPP 파일입니다.
How Visual C++ Manages Set Includes Information어떻게 Visual C++ 다중 (중첩)을 추적 하는 방법에 대 한 기술 정보를 제공 합니다.RC 파일 및 # include'd으로 된 여러 개의 헤더 파일에 있습니다.RC 파일입니다.
개요는 Visual C++ 리소스 파일 및 헤더 파일을 관리합니다.
Visual C++는 단일을 관리합니다.RC 리소스 파일과 해당 합니다.밀접 하 게 결합 된 파일 쌍으로 H 헤더 파일입니다.편집 하 고 리소스에 저장 된.RC 파일을 간접적으로 편집 하 고 해당 기호를 저장 합니다.H 파일입니다.열고 다중 편집 수 있지만.RC 파일 (Visual C++ MDI 사용자 인터페이스를 사용 하 여) 한 번에 주어진.RC 파일을 하나만 해당 헤더 파일을 직접 편집 합니다.
기호 헤더 파일
기본적으로 Visual C++ 항상 리소스는 해당 헤더 파일을 이름을 지정 합니다.(예를 들어, MYAPP 리소스 파일의 이름에 관계 없이 H.RC)입니다.사용 하는 리소스를 포함 명령에서 보기 Visual C++에 대 한 메뉴에서 변경할 수 있습니다이 헤더 파일의 이름을 파일에서 기호 헤더 파일을 업데이트 하 여는 설정 포함 대화 상자.
읽기 전용 기호 지시문
Visual C++ 헤더 파일을 하나 하나 주어진 편집만 하지만.RC 파일을 Visual C++ 추가 읽기 전용 헤더 파일에 정의 된 기호에 대 한 참조를 지원 합니다.사용 하는 포함 리소스 명령에서 보기 메뉴 Visual C++에서 원하는 만큼 추가 읽기 전용 헤더 파일이 읽기 전용 기호 지시문으로 지정할 수 있습니다.새 리소스를 추가 하면 "읽기 전용" 제한을 의미는.RC 파일을 읽기 전용으로 헤더 파일에 정의 된 기호를 사용할 수 있습니다. 하지만 리소스를 삭제 하면 기호 여전히 읽기 전용 헤더 파일에 정의 된 남아 있습니다.읽기 전용 기호에 지정 된 숫자 값을 변경할 수 없습니다.
컴파일 타임 지시문
Visual C++도 하나 있는 리소스 파일의 중첩을 지원 합니다.RC 파일 내의 다른 include'd #입니다.편집 하는 경우를 지정 합니다.Visual C++에서 # include'd 파일에 있는 리소스를 사용 하 여 RC 파일이 보이지 않습니다.그러나 컴파일할 때의.RC 파일을 # include'd 파일 또한 컴파일됩니다.사용 하는 리소스 내용 명령에서 보기 메뉴에서 Visual C++에서 # include'd 원하는 만큼 지정할 수 있습니다.RC 파일로 컴파일 타임 지시문입니다.
어떻게 참고로 Visual C++를 읽을 경우에.# Include RC 파일이 다른의.RC 파일 않은 컴파일 타임 지시문으로 지정 합니다.Visual C++를 가져올 때 이러한 상황이 발생할 수 있는.RC 파일을 이전에 수동으로 텍스트 편집기로 관리 되어 있었습니다.Visual C++ include'd # 읽습니다.RC 파일을 # include'd 리소스 부모에 병합합니다.RC 파일입니다.부모를 저장할 때.RC 파일을 # include 문을 사실 # include'd 리소스에 의해 대체 됩니다.이 병합을 수행 하지 않으려면 #은 제거 해야 문에서 부모를 포함 합니다.RC 파일 이전 을 읽는 Visual C++로. 다음 Visual C++를 사용 하 여 추가 다시 같은 # include 문은 컴파일 타임 지시문으로.
Visual C++ 저장에.RC 파일의 세 가지 종류의 설정 포함 위 정보 (기호 헤더 파일, 읽기 전용 기호 지시문 및 컴파일 타임 지시문) #에서 include 지시문 및 TEXTINCLUDE 리소스에 있습니다.TEXTINCLUDE 리소스, 일반적으로 다루기에 필요 하지 않은 세부 설명 는 Visual C++ 관리 설정 포함 정보.
응용 프로그램 마법사가 만든의 분석입니다.RC 및.H 파일
응용 프로그램 마법사에서 생성 하는 응용 프로그램 코드를 검사 하는 통찰력으로 Visual C++에서 여러 리소스 파일 및 헤더 파일을 관리 하는 방법을 제공 합니다.기본 옵션을 사용 하 여 응용 프로그램 마법사에서 생성 하는 응용 프로그램 MYAPP 아래 검사 코드 발췌 한 내용입니다.
아래 다이어그램에 요약 된 대로 여러 리소스 파일 및 헤더 파일을 여러 응용 프로그램 마법사에서 만든 응용 프로그램을 사용 합니다.
RESOURCE.H AFXRES.H
\ /
\ /
MYAPP.RC
|
|
RES\MYAPP.RC2
AFXRES.RC
AFXPRINT.RC
Visual C++ 파일/세트 포함 명령을 사용 하 여 이러한 여러 파일 관계를 볼 수 있습니다.
- MYAPP입니다.RC
Visual C++를 사용 하 여 편집 하는 응용 프로그램 리소스 파일입니다.
리소스입니다.H의 응용 프로그램별 헤더 파일입니다.항상 리소스를 라고 합니다.응용 프로그램 마법사에서 Visual C++ 기본으로 일관 된 H 헤더 파일의 이름을 지정 합니다.# 포함 리소스 파일 (MYAPP. 첫 번째 문에서이 헤더 파일에 대 한RC):
//Microsoft Visual C++ generated resource script
//
#include "resource.h"
- RES\MYAPP입니다.RC2
Visual C++에서 편집할 수 없습니다 있지만 컴파일된 최종 포함될지 리소스가 들어 있습니다.EXE 파일입니다.Visual C++ 표준 버전 리소스 (이 릴리스의 새 기능)을 비롯 한 리소스를 모두 편집할 수 있으므로 응용 프로그램 마법사는 리소스 없음 기본적으로 만듭니다.사용자 고유의 사용자 지정 형식의 리소스를이 파일에 추가 하려는 경우 빈 파일은 응용 프로그램 마법사에서 생성 됩니다.
사용자 지정 형식의 리소스를 사용 하는 경우 RES\MYAPP을 추가할 수 있습니다.RC2 및 Visual C++ 텍스트 편집기를 사용 하 여 편집 합니다.
AFXRES입니다.RC 및 AFXPRINT입니다.RC 프레임 워크의 특정 기능에 필요한 표준 리소스를 포함 합니다.RES\MYAPP 처럼.RC2, # include'd MYAPP 끝에 이러한 두 프레임 워크에서 제공 하는 리소스 파일입니다.RC, 및 이러한 포함 설정 대화 상자의 컴파일 타임 지시문으로 지정 됩니다.따라서 하지 않습니다 직접 보거나 MYAPP를 편집 하는 동안 이러한 프레임 워크 리소스를 편집 합니다.Visual C++에서 RC 하지만 이러한 응용 프로그램의 이진 파일에 컴파일됩니다.RES 파일 및 최종입니다.EXE 파일입니다.표준 프레임 워크 리소스를 수정 하는 절차를 비롯 하 여에 대 한 자세한 내용은 참조 하십시오. 기술 참고 23.
AFXRES입니다.H는 표준 기호 같은 정의 ID_FILE_NEW프레임 워크에 의해 사용, 특히 AFXRES에 사용 합니다.RC입니다.AFXRES입니다.또한 # include h의 WINRES.H, WINDOWS의 하위 집합을 포함 합니다.H 생성 NET가 필요 합니다.RC 파일 뿐만 아니라 AFXRES입니다.RC입니다.AFXRES에 정의 된 기호입니다.응용 프로그램 리소스 파일 (MYAPP. 편집할 때 H 사용할 수 있는RC)입니다.예를 들어, ID_FILE_NEW 에서 MYAPP 파일 새 메뉴 항목을 사용 합니다.RC의 메뉴 리소스입니다.변경 하거나 이러한 프레임 워크 정의 기호를 삭제할 수 없습니다.
추가 헤더 파일 포함
응용 프로그램 마법사에서 만든 응용 프로그램에 두 개의 헤더 파일 포함: 자원.H 및 AFXRES입니다.H.만 리소스입니다.H는 특정 응용 프로그램입니다.다음과 같은 경우에 추가 읽기 전용 헤더 파일을 포함 해야 합니다.
헤더 파일에서 외부 소스를 제공 하거나 여러 프로젝트나 동일한 프로젝트의 여러 부분 간에 헤더 파일을 공유 하려는.
Visual C++ 변경 하거나 파일을 저장 하는 경우 필터링 않으려는 메모 서식 및 헤더 파일에 있습니다.예를 들어, 어쩌면 # 유지 하려면 원하는 정의 기호화 된 산술 연산 같은 사용:
#define RED 0
#define BLUE 1
#define GREEN 2
#define ID_COLOR_BUTTON 1001
#define ID_RED_BUTTON (ID_COLOR_BUTTON + RED)
#define ID_BLUE_BUTTON (ID_COLOR_BUTTON + BLUE)
#define ID_GREEN_BUTTON (ID_COLOR_BUTTON + GREEN)
사용 하 여 추가 읽기 전용 헤더 파일을 포함할 수는 리소스를 포함 에서 # include 문을 두 번째 읽기 전용 기호 지시문으로 지정 하는 명령:
#include "afxres.h"
#include "second.h"
이제 새 관계 다이어그램 파일 다음과 같이 나타납니다.
AFXRES.H
RESOURCE.H SECOND.H
\ /
\ /
MYAPP.RC
|
|
RES\MYAPP.RC2
AFXRES.RC
AFXPRINT.RC
두 헤더 파일을 공유 합니다.RC 파일
두 헤더 파일을 공유 할 수 있습니다.서로 다른 프로젝트 또는 동일한 프로젝트에 RC 파일.이렇게 하려면 위에서 설명한 두 가지를 모두 읽기 전용 지시문 기술을 적용 하기만 하면 됩니다.RC 파일입니다.경우에는 두.RC 파일이 다른 응용 프로그램에 대 한 (서로 다른 프로젝트) 결과 다음 다이어그램에 표시 됩니다.
RESOURCE.H AFXRES.H RESOURCE.H
(for MYAPP1) SECOND.H (for MYAPP2)
\ / \ /
\ / \ /
MYAPP1.RC MYAPP2.RC
/ \ / \
/ \ / \
RES\MYAPP1.RC2 AFXRES.RC RES\MYAPP2.RC2
AFXPRINT.RC
두 번째 헤더 파일 2로 공유 되는 경우.RC 파일에서 동일한 응용 프로그램 (프로젝트) 아래에 설명 되어 있습니다.
동일한 프로젝트의 여러 리소스 파일을 사용 하 여
여러 visual C++ 및 리소스 컴파일러를 지원합니다.RC 파일 같은 프로젝트를 통해 # 포함의 하나입니다.RC 파일에서 다른입니다.다중 중첩 허용 됩니다.여러 프로젝트의 리소스를 분할 하는 여러 가지가 있습니다.RC 파일:
여러 리소스를 분할 하는 경우 많은 여러 프로젝트 팀 구성원 간에 리소스를 관리 하는 것이 더 쉽습니다.RC 파일입니다.소스 제어 관리 패키지 파일을 체크 아웃 하 고 변경 내용을 체크 인하기 위해 여러 리소스 분할 사용 하는 경우.RC 파일 리소스에 대 한 변경 내용 관리를 통해 세밀 하 게 제어를 제공 합니다.
# Ifdef 등 전처리기 지시문을 사용 하려는 경우 # endif, #, 자원의 부분에 대 한 정의 리소스 컴파일러에 의해 컴파일됩니다 읽기 전용 리소스를 분리 해야 합니다.
구성 요소입니다.RC 파일 로드 하 고 하나의 합성 보다 빠르게 Visual C++에 저장 됩니다.RC 파일입니다.
사람이 읽을 수 있는 형태로 텍스트 편집기와 리소스를 유지 하려는 경우 사용 해야 한 합니다.하나의 Visual C에서 별도 RC 파일을 편집합니다.
그런 다음 사용자 정의 자원에 다른 특수 데이터 편집기로 해석할 이진 또는 텍스트 형태로 유지 하는 경우는 별도의 유지 해야 합니다.Visual C++ 16 진수 데이터 형식은 바뀌지 않습니다 있도록 RC 파일입니다..WAV (사운드) 파일 리소스 고급 개념 MFC 샘플에서 SPEAKN 좋은 예입니다.
# 수 초를 포함 합니다.RC를 포함 설정 대화 상자의 컴파일 타임 지시문에서:
#include "res\myapp.rc2" // non-Visual C++ edited resources
#include "second.rc" // THE SECOND .RC FILE
#include "afxres.rc" // Standard components
#include "afxprint.rc" // printing/print preview resources
다음 다이어그램에서는 결과 보여 줍니다.
RESOURCE.H AFXRES.H
\ /
\ /
MYAPP.RC
|
|
RES\MYAPP.RC2
SECOND.RC
AFXRES.RC
AFXPRINT.RC
컴파일 타임 지시문을 사용 하 여 여러 Visual C++ 편집 가능 하 고 편집할 수 없는 리소스를 구성할 수 있습니다.RC 파일에 있는 "마스터" MYAPP.# 포함 다른 RC 아무 작업도 하지 않습니다.RC 파일입니다.Visual C++ 프로젝트를 사용 하는 경우."마스터"는 MAK 파일을 포함 해야 합니다.RC 파일 프로젝트에는 include'd # 모든 리소스는 응용 프로그램과 함께 컴파일됩니다.
편집할 수 없는 Visual C++ 파일 적용
응용 프로그램 마법사가 만든 RES\MYAPP입니다.RC2 파일을 사용 하면 리소스에 들어 있는 파일의 예입니다 없습니다 에 Visual C++ 실수로 읽고 쓸 고 하려는 서식 정보 손실 없이 백업.이런 위험을 방지 하려면 RES\MYAPP의 시작 부분에 다음 줄을 배치 합니다.RC2 파일:
#ifdef APSTUDIO_INVOKED
#error this file is not editable by Visual C++
#endif //APSTUDIO_INVOKED
Visual C++를 컴파일한 경우에.RC 파일에서 정의한 APSTUDIO_INVOKED 과 RC_INVOKED.응용 프로그램 마법사가 만든 파일 구조가 손상 된 경우 Visual C++ 위의 # error 줄을 읽습니다 치명적인 오류를 보고 하 고 읽기 중단에.RC 파일입니다.
여러 Visual에서 C++ 편집할 공유 기호를 관리 합니다.RC 파일
에 여러 리소스를 분할할 때 두 가지 문제가 발생 합니다.Visual C++에서는 별도로 편집할 RC 파일:
문장 부호와 여러 공유 할 수 있습니다.RC 파일입니다.
Visual (기호)의 개별 리소스에 동일한 ID 숫자 값을 할당 하지 않도록 C++ 도움말 해야 합니다.
조직을에 다음과 같은 다이어그램을 보여줍니다.RC 및.첫 번째 문제를 다루는 H 파일:
MYAPP.RC
/ \
/ \
MYSTRS.H / MYSHARED.H \ MYMENUS.H
\ / / \ \ \
\ / / \ \ \
MYSTRS.RC MYMENUS.RC
이 예제에서는 문자열 리소스 MYSTRS 리소스 파일에 유지 됩니다.다른 MYMENUS RC, 및 메뉴에 보관 됩니다.RC입니다.등을 위한 명령, 일부 기호, 두 파일 간에 공유 하 게 할 수 있습니다.예를 들어, ID_TOOLS_SPELL는 맞춤법 도구 메뉴에서 항목에 대 한 메뉴 명령 ID 수 있습니다. 고 문자열 ID 프레임 워크는 응용 프로그램의 주 창 상태 표시줄에 표시 되는 명령 프롬프트를 수도 있습니다.
ID_TOOLS_SPELL 기호 MYSHARED 공유 헤더 파일에 유지 됩니다.H.이 공유 헤더 파일 수동으로 텍스트 편집기로 보관 합니다. Visual C++ 직접 편집 하지 않습니다.두 리소스의 MYSTRS 파일입니다.RC 및 MYMENUS입니다.RC를 지정한 # MYSHARED를 포함 합니다.MYAPP에 있는 읽기 전용 지시문에 H.RC를 사용 하 여 리소스를 포함 앞에서 설명한 대로 명령.
가장 편리한 사용을 시도 하기 전에 공유 합니다 기호를 예상 하는 모든 리소스를 식별 합니다.공유 헤더 파일에 기호를 추가 하 고 아직 없으면 # 공유 헤더 파일에 대 한 읽기 전용 지시문의 include'd에서.RC 파일을 기호를 사용 하기 전에 작업을 수행 합니다.이렇게 하면 심볼을 공유를 예상 하지 못한 경우 수동으로 해야 합니다 (텍스트 편집기를 사용 하 여) 이동 # define 문을 기호, 예를 들어 MYMENUS.MYSHARED에 H입니다.MYSTRS에서 사용 하기 전에 H입니다.RC입니다.
때에 여러 심볼을 관리 합니다.RC 파일을 동일한 ID 숫자 값 (기호)의 개별 리소스에 할당 하지 않도록 NET 데도 해야 합니다.지정 합니다.RC 파일을 Visual C++ 증분 Id 각 네 ID 도메인에 할당합니다.편집 세션 간에 Visual C++에서 각 도메인에 대 한 기호 헤더 파일에 할당 된 마지막 ID를 추적을 합니다.RC 파일입니다.APS_NEXT 값은 빈 (새) 이란 다음과 같습니다.RC 파일:
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 101
_APS_NEXT_RESOURCE_VALUE 다음 기호 값을 대화 상자 리소스, 메뉴 리소스 등을 사용할 수 있습니다.리소스의 기호 값의 유효한 범위는 1에 0x6FFF입니다.
_APS_NEXT_COMMAND_VALUE 명령 id를 사용 하 여 다음 기호 값입니다.명령 기호 값의 유효한 범위에 0x8000 0xDFFF입니다.
_APS_NEXT_CONTROL_VALUE 는 대화 상자 컨트롤에 사용 되는 다음 기호 값입니다.대화 상자 컨트롤 기호 값의 유효한 범위를 8 0xDFFF입니다.
_APS_NEXT_SYMED_VALUE 기호 브라우저에서 새로 만들기 명령을 사용 하 여 기호 값을 수동으로 할당 하는 경우 발생 하는 다음 기호 값입니다.
새 visual C++ 시작 값이 약간 높은 낮은 법적 때 값 만들기RC 파일입니다.또한 응용 프로그램 마법사 MFC 응용 프로그램에 대 한 적절 한 항목으로 이러한 값을 초기화 합니다.ID 값의 범위에 대 한 자세한 내용은 기술 참고 20.
Visual C++과 같은 프로젝트에도 새 리소스 파일을 만들 때마다 정의 이제 _APS_NEXT_ 값입니다.따라서 여러 예를 들어 추가 하는 경우 서로 다른 두에 대화.RC 파일을 것입니다 거의 값 같은 # 정의 하는 다른 대화 상자에 할당 됩니다.예를 들어, 첫 번째에서 IDD_MY_DLG1 합니다.RC 파일 수 있는 할당 동일 번호를 101로 1 초에 IDD_MY_DLG2.RC 파일입니다.
이 문제를 방지 하려면 각 도메인에는 해당 Id의 4에 대 한 별도 숫자 범위를 않는 것이 좋습니다.RC 파일입니다.수동으로 업데이트 하 여이 작업을 수행의 _APS_NEXT 의 각 값은.RC 파일 before 추가 리소스를 시작 합니다.예를 들어, 경우 첫 번째.RC 파일의 기본을 사용 하 여 _APS_NEXT 다음 할당할 수 있는 다음 값 _APS_NEXT 값을 두 번째.RC 파일:
#define _APS_NEXT_RESOURCE_VALUE 2000
#define _APS_NEXT_COMMAND_VALUE 42000
#define _APS_NEXT_CONTROL_VALUE 2000
#define _APS_NEXT_SYMED_VALUE 2000
물론, Visual C++가 많은 첫 번째 Id를 할당 합니다 수 있습니다.숫자 값에 대 한 두 번째 예약 된 중복 되기 시작 RC 파일입니다.RC 파일입니다.이러한 일이 일어나지 않도록 충분히 큰 범위를 예약 해야 합니다.
간의 의존 관계를 관리 합니다.RC입니다.CPP를 하 고 있습니다.H 파일
Visual C++를 때 저장 된.RC 파일을 그도 기호 변경 해당 리소스를 저장합니다.H 파일입니다.중 하나를 합니다.리소스를 참조 하는 CPP 파일을.RC 파일 해야 # 리소스를 포함 합니다.일반적으로 내에서 H 파일에서 프로젝트의 마스터 헤더 파일입니다.이러한 헤더 종속성에 대 한 원본 파일을 검사 하는 개발 환경의 내부 프로젝트 관리 때문에 바람직하지 않은 측면-효과를 발생할 수 있습니다.Visual C++에서 새 심볼을 추가할 때마다 모두는.CPP 파일 # 리소스를 포함 합니다.H 다시 컴파일할 수 있어야 합니다.
Visual C++, 리소스에 대 한 종속성을 피할 수 있습니다.리소스의 첫 번째 줄으로 다음 메모를 포함 하 여 H.H 파일:
//{{NO_DEPENDENCIES}}
개발 환경 리소스 변경 내용을 무시 하 여이 메모를 해석 합니다.따라서 해당 종속 H입니다.CPP 파일 다시 컴파일할 필요가 없습니다.
Visual C++ 항상 추가 //{{NO_DEPENDENCIES}} 줄에 대 한 의견은.RC 파일을 저장 하면 파일입니다.경우에 따라 빌드 종속 리소스의 회피.H 뚫고 링크 시 런타임 오류가 발생할 수 있습니다.예를 들어, 기호 브라우저를 사용 하 여 배정 된 자원에 대 한 기호 숫자 값 변경 하는 경우 리소스 됩니다 수 올바르게 찾을 수 없고 로드 응용 프로그램 런타임 경우에 해당 합니다.리소스를 참조 하는 CPP 파일 컴파일될 수 없습니다.다시 이런 경우 명시적으로 어떤 컴파일해야 합니다.CPP 파일 리소스 기호 변경 영향을 받습니다.H 또는 select 모두 다시 빌드.자주 특정 그룹의 리소스에 대 한 기호 값을 변경할 필요가 있는 경우 보면이 편리 하 고 안전 하 게 분해 별도 읽기 전용 헤더 파일에 이러한 기호를 위의 섹션에서 설명한 대로 경우가 포함 하는 추가 헤더 파일.
Visual C++ 관리 방법 정보 집합 포함 됩니다.
위에서 설명한 것 처럼 세 가지 유형의 정보를 지정 합니다. 파일 메뉴 집합을 포함 하는 명령을 수 있습니다.
기호 헤더 파일
읽기 전용 기호 지시문
컴파일 타임 지시문
다음 Visual C++에서이 정보를 유지 하는 방법에 대해 설명 합니다.는.RC 파일입니다.Visual C++를 사용 하려면이 정보가 필요 하지 않습니다 하지만 더 자신 있게 설정 포함 기능을 사용할 수 있도록 이해도 높일 수 있습니다.
각 집합에 포함 된 정보는 위의 세 가지 종류의 저장 되는.RC 파일을 두 가지: (1)로 # include 또는 다른 지시어 해석할 리소스 컴파일러에 의해, (2) 특수 TEXTINCLUDE 자원이 해석할만 Visual C++로.
TEXTINCLUDE 리소스의 목적은 쉽게 Visual C++에서의 염려 되는 형태로 설정에 포함 되는 정보를 안전 하 게 저장 하는 것 설정 포함 대화 상자.TEXTINCLUDE 되는 리소스 종류 Visual C++에서 정의 합니다.Visual C++ 리소스 id 번호가 1, 2 및 3에 있는 3 개의 특정 TEXTINCLUDE 리소스를 인식 합니다.
TEXTINCLUDE 리소스 ID |
정보 설정 포함 됩니다. |
---|---|
1 |
기호 헤더 파일 |
2 |
읽기 전용 기호 지시문 |
3 |
컴파일 타임 지시문 |
각 집합에 포함 되는 정보는 세 가지 종류의 MYAPP 기본적으로 나타낸 것입니다.RC 및 리소스를 제공 합니다.H 파일을 아래에서 설명한 대로 응용 프로그램 마법사에서 생성 합니다.추가 \ 0 및 "" BEGIN 및 END 블록 사이 토큰 필수 RC 구문에서 0 종료 된 문자열 및 큰따옴표 문자를 각각 지정 합니다.
기호 헤더 파일
기호 헤더 파일은 리소스 컴파일러에서 해석 정보 형태로 # include 문을입니다.
#include "resource.h"
해당 TEXTINCLUDE 리소스는 다음과 같습니다.
1 TEXTINCLUDE DISCARDABLE
BEGIN
#resource.h\0"
END
읽기 전용 기호 지시문
읽기 전용 기호 지시문 MYAPP 상단에 포함 되어 있습니다.다음과 같은 형태로 해석할 리소스 컴파일러에서 RC:
#include "afxres.h"
해당 TEXTINCLUDE 리소스는 다음과 같습니다.
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
컴파일 타임 지시문
컴파일 타임 지시문 MYAPP 끝에 포함 되어 있습니다.다음과 같은 형태로 해석할 리소스 컴파일러에서 RC:
#ifndef APSTUDIO_INVOKED
///////////////////////
//
// From TEXTINCLUDE 3
//
#include "res\myapp.rc2" // non-Visual C++ edited resources
#include "afxres.rc" // Standard components
#include "afxprint.rc" // printing/print preview resources
#endif // not APSTUDIO_INVOKED
Visual C++ 컴파일 타임 지시문을 통해 건너뛰려면 APSTUDIO_INVOKED #ifndef 지시문을 지시 합니다.
해당 TEXTINCLUDE 리소스는 다음과 같습니다.
3 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""res\myapp.rc2"" // non-Visual C++ edited resources\r\n"
"\r\n"
"#include ""afxres.rc"" // Standard components\r\n"
"#include ""afxprint.rc"" // printing/print preview resources\r\n"
"\0"
END