如何将一长串整数作为资源嵌入本机 c++ Windows 应用程序

How to embed a long list of integers as a Resource in a native c++ Windows application

我正在 Visual Studio (2013) 创建本机 C++ 应用程序。我有一个非常长的逗号分隔整数文件 (10000+),我必须将其包含在我的 exe 文件中。我的第一次尝试是 #include 一个定义本机 int 数组的文件,如下所示

int MYINTEGERS[] = { 12, 45, 88, .... very long list  };

但是那个文件花了 "hours" 来编译。

我目前的方法是制作所谓的用户定义的原始数据资源。 defined here。因此,我创建了一个包含以下内容的文本文件:

MyNameID MyTypeID { 12, 45, 88, .... very long list }

但是在 Visual Studio 中,我应该如何进行才能使资源编译器 (RC) 编译该文件并将其包含在我的二进制文件中?

将用户定义的资源保存在资源 (*.rc) 文件中,或将资源定义复制到项目的资源文件中。如果它存在,您应该能够在 Resources 文件夹下的解决方案资源管理器中找到它。如果它不存在,请将您新创建的文件添加到此文件夹中。然后,如果您没有用于资源定义的 header(通常称为 Resource.h),请创建一个并向其中添加以下行:

#define MyNameID    1000

请注意,您可以放置​​任何常量而不是 1000,只要它与用于某些其他资源的常量不同即可。最后,您可以使用 FindResource Win32 函数在程序中访问您的数组:

HRSRC hResource = FindResourceW(m_hInstance, MAKEINTRESOURCE(MyNameID), L"MyTypeID");