Я использую Visual Studio 2015 Update 2. Я работаю над самодельным управлением ресурсами (вместо инструмента Qt qrc).Я пытаюсь встроить огромный файл (> 4Mo) в мой двоичный файл с помощью этого менеджера ресурсов.Поэтому я в итоге создаю огромный массив char *.
. В примерах ниже ...
заменяется на 4 миллиона шестнадцатеричных значений, разделенных ,
(и делится на 10 на строку, так как компилятор имеет длину строки, имитирующую).
Когда я делаю:
static const unsigned char my_resource_data[] = { ... };
, он компилируется и связывается.
Но когда я делаю одно из:
static std::vector<uint8_t> v = { ... };
static std::vector<uint8_t> v{ ... };
Он сообщаетошибка "компилятору не хватает места в куче"
И когда я делаю одно из:
std::vector<uint8_t> v = { ... };
std::vector<uint8_t> v{ ... };
CL.exe просто вылетает!
Почему используется std::vector
сделать разницу в конце?Нет ли способа успешно создать std::vector
здесь?