在我的.rc文件中,我发现我有3个TEXTINCLUDE部分重复两次,内容不同。当我打开“资源包含”时,仅显示前3个部分中的包含。很久以前我已经调整了.rc,所以它可能是剩下的。
我可以安全地删除后面的3个部分吗?
我已经从我的.rc文件粘贴了这个,你可以看到TEXTINCLUDE部分是如何重复的(即“3 TEXTINCLUDE”后跟“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
答案 0 :(得分:8)
这是由Visual Studio内置的图形资源编辑器生成的gunk。它在运行时没有任何影响,它只是为编辑器保存状态。当你弄乱它时,你将面临破坏编辑器的严重风险。如果您从不使用资源编辑器并始终使用文本编辑器管理资源,那也没关系。
此MSDN article中有一些背景信息:
下面介绍Visual C ++如何在.RC文件中维护此信息。您不需要此信息来使用Visual C ++,但它可以增强您的理解,以便您可以更自信地使用Set Includes功能。
以上三种类型的Set Includes信息中的每一种都以两种形式存储在.RC文件中:(1)作为#include或资源编译器可解释的其他指令,以及(2)作为特殊的TEXTINCLUDE资源,只能解释为Visual C ++。
TEXTINCLUDE资源的目的是以一种在Visual C ++的“设置包含”对话框中可以显示的形式安全地存储“设置包含”信息。 TEXTINCLUDE是Visual C ++定义的资源类型。 Visual C ++识别具有资源标识号1,2和3的三个特定TEXTINCLUDE资源:
TEXTINCLUDE resource ID Type of Set Includes information
1 Symbol Header File
2 Read-Only Symbol Directives
3 Compile-Time Directives
答案 1 :(得分:1)
只需要一组TEXTINCLUDE
。你只需要决定什么样的设置对你有用。