2012-08-09 6 views
5

En mi archivo .rc encontré que tengo las 3 secciones TEXTINCLUDE repetidas dos veces, con contenido diferente. Cuando abro "Resource Includes", solo se muestran los includes de las 3 primeras secciones. He modificado el .rc hace mucho tiempo, así que tal vez sea un residuo de eso.Duplicación de secciones TEXTINCLUDE en el archivo .rc

¿Puedo eliminar con seguridad las segundas 3 secciones?

he pegado esto desde mi archivo .rc, se puede ver cómo se repiten las secciones TEXTINCLUDE (es decir, "3 TEXTINCLUDE" es seguido por "1 TEXTINCLUDE".

1 TEXTINCLUDE 
BEGIN 
    "resource.h\0" 
END 

2 TEXTINCLUDE 
BEGIN 
    "#include ""afxres.h""\r\n" 
    "#include ""res/Pngs.h""\r\n" 
    "#include ""res/PngsNag.h""\0" 
END 

3 TEXTINCLUDE 
BEGIN 
    "#include ""afxres.rc""  // Standard components\r\n" 
    "#include ""res/MyProject.rc2""\r\n" 
    "#include ""res/Pngs.rc2""\r\n" 
    "#include ""res/PngsNag.rc2""\0" 
END 

1 TEXTINCLUDE 
BEGIN 
    "resource.h\0" 
END 

2 TEXTINCLUDE 
BEGIN 
    "#include ""afxres.h""\r\n" 
    "\0" 
END 

3 TEXTINCLUDE 
BEGIN 
    "#define _AFX_NO_SPLITTER_RESOURCES\r\n" 
    "#define _AFX_NO_OLE_RESOURCES\r\n" 
    "#define _AFX_NO_TRACKER_RESOURCES\r\n" 
    "#define _AFX_NO_PROPERTY_RESOURCES\r\n" 
    "\r\n" 
    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" 
    "#ifdef _WIN32\r\n" 
    "LANGUAGE 9, 1\r\n" 
    "#pragma code_page(1252)\r\n" 
    "#endif //_WIN32\r\n" 
    "#include ""res\\MyProject.rc2"" // non-Microsoft Visual C++ edited resources\r\n" 
    "#include ""afxres.rc""   // Standard components\r\n" 
    "#endif\r\n" 
    "\0" 
END 

Respuesta

6

Esto es basura generada por el editor de recursos gráficos integrado en Visual Studio. No tiene ningún efecto en el tiempo de ejecución, simplemente guarda el estado para el editor. Correrás un serio riesgo de romper el editor cuando te metas con él. Lo cual está bien si nunca use el editor de recursos y administre siempre los recursos con un editor de texto.

Hay un poco de información de fondo en este MSDN article:

A continuación se describe la forma en Visual C++ mantiene esta información en un archivo .RC. No necesita esta información para usar Visual C++, pero puede mejorar su comprensión para que pueda usar con más confianza la función Establecer Incluye.

Cada uno de los tres tipos anteriores de conjunto incluye información se almacena en el archivo .RC de dos formas: (1) como #include u otras directivas interpretables por el compilador de recursos, y (2) como recursos especiales TEXTINCLUDE solo interpretables por Visual C++.

El propósito del recurso TEXTINCLUDE es almacenar de forma segura la información de Set Include en un formulario que es fácilmente presentable en el cuadro de diálogo Set Includes de Visual C++. TEXTINCLUDE es un tipo de recurso definido por Visual C++. Visual C++ reconoce tres recursos TEXTINCLUDE específicos que tienen los números de identificación de recursos 1, 2 y 3:

TEXTINCLUDE resource ID  Type of Set Includes information 
     1     Symbol Header File 
     2     Read-Only Symbol Directives 
     3     Compile-Time Directives 
1

Sólo un juego de TEXTINCLUDE 's es necesario. Solo necesita decidir qué conjunto funciona mejor para usted.

Cuestiones relacionadas