6

.rcファイルで、3つのTEXTINCLUDEセクションが2回繰り返され、内容が異なることがわかりました。「リソースインクルード」を開くと、最初の3つのセクションのインクルードのみが表示されます。私はずっと前に.rcを微調整したので、おそらくそれからの残り物です。

次の3つのセクションを安全に削除できますか?

これを.rcファイルから貼り付けたところ、TEXTINCLUDEセクションがどのように繰り返されているかがわかります(つまり、「3TEXTINCLUDE」の後に「1TEXTINCLUDE」が続きます。

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

これは、VisualStudioに組み込まれているグラフィカルリソースエディターによって生成されるガンクです。実行時には何の効果もありません。単にエディターの状態を保存するだけです。あなたがそれを台無しにすると、あなたはエディタを壊すという深刻なリスクを冒すことになります。リソースエディタを使用せず、常にテキストエディタでリソースを管理する場合は、これで問題ありません。

このMSDNの記事には少し背景情報があります:

次に、VisualC++がこの情報を.RCファイルに保持する方法について説明します。Visual C ++を使用するためにこの情報は必要ありませんが、理解を深めて、より自信を持って[インクルードの設定]機能を使用できるようにすることができます。

上記の3種類のSetIncludes情報は、それぞれ.RCファイルに2つの形式で格納されます。(1)リソースコンパイラによって解釈可能な#includeまたはその他のディレクティブとして、および(2)VisualC++によってのみ解釈可能な特別なTEXTINCLUDEリソースとして。

TEXTINCLUDEリソースの目的は、セットインクルード情報をVisualC++のセットインクルードダイアログボックスですぐに表示できる形式で安全に保存することです。TEXTINCLUDEは、VisualC++で定義されたリソースタイプです。Visual C ++は、リソース識別番号1、2、および3を持つ3つの特定のTEXTINCLUDEリソースを認識します。

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

必要なのは1セットだけTEXTINCLUDEです。どのセットが自分に適しているかを判断する必要があります。

于 2012-08-09T17:41:39.520 に答える