Я создаю нативное приложение C ++ в Visual Studio (2013). У меня есть очень длинный файл (10000+) целых чисел, разделенных запятыми, который я должен включить в свой exe-файл. Моей первой попыткой было #include
файл, который определил собственный массив int следующим образом
int MYINTEGERS[] = { 12, 45, 88, .... very long list };
но этот файл занял «часы», чтобы скомпилировать.
мой нынешний подход заключается в том, чтобы сделать так называемый пользовательский ресурс необработанных данных. определено здесь . Таким образом, я создал текстовый файл, содержащий следующее:
MyNameID MyTypeID { 12, 45, 88, .... very long list }
Но как мне поступить, в Visual Studio, заставить компилятор ресурсов (RC) скомпилировать этот файл и включить его в мой двоичный файл?
Сохраните пользовательский ресурс в файле ресурса (* .rc) или скопируйте определение ресурса в файл ресурса вашего проекта. Если он существует, его можно найти в обозревателе решений в разделе Resources
папка. Если он не существует, добавьте вновь созданный файл в эту папку. Затем, если у вас нет заголовка для определения ресурса (обычно называется Resource.h
), создайте его и добавьте в него следующую строку:
#define MyNameID 1000
Обратите внимание, что вы можете поместить любую константу вместо 1000, если она не совпадает с некоторой константой, используемой для другого ресурса. Наконец, вы можете получить доступ к вашему массиву в программе, используя FindResource
Win32 функция:
HRSRC hResource = FindResourceW(m_hInstance, MAKEINTRESOURCE(MyNameID), L"MyTypeID");
Других решений пока нет …