6

在我的 .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
4

2 回答 2

9

这是由 Visual Studio 中内置的图形资源编辑器生成的垃圾。它在运行时没有任何影响,它只是为编辑器保存状态。当您弄乱编辑器时,您将面临破坏编辑器的严重风险。如果您从不使用资源编辑器并始终使用文本编辑器管理资源,那也没关系。

这篇MSDN 文章中有一些背景信息:

下面介绍 Visual C++ 如何在 .RC 文件中维护此信息。您不需要这些信息来使用 Visual C++,但它可以增强您的理解,以便您可以更自信地使用 Set Includes 功能。

上述三种类型的 Set Includes 信息中的每一种都以两种形式存储在 .RC 文件中:(1) 作为 #include 或其他可由资源编译器解释的指令,以及 (2) 作为仅可由 Visual C++ 解释的特殊 TEXTINCLUDE 资源。

TEXTINCLUDE 资源的目的是在 Visual C++ 的 Set Includes 对话框中以易于呈现的形式安全地存储 Set Include 信息。TEXTINCLUDE 是 Visual C++ 定义的资源类型。Visual C++ 识别三个特定的 TEXTINCLUDE 资源,它们的资源标识号为 1、2 和 3:

TEXTINCLUDE resource ID     Type of Set Includes information
        1                   Symbol Header File
        2                   Read-Only Symbol Directives
        3                   Compile-Time Directives
于 2012-08-09T18:40:03.997 回答
1

只需要一组TEXTINCLUDE'。你只需要决定哪一套更适合你。

于 2012-08-09T17:41:39.520 回答