Я использую Embarcadero C ++ Builder 10.1 Berlin Update 2.
Я добавил один файл в проект. Я попытался построить указанный проект, и сборка не удалась и сообщил о следующей ошибке:
[bcc32 Fatal Error] FileName.cpp(44329): F1008 Out of memory
Я читал об ошибках, которые могут быть найдены через Google, и нахожу только ошибки компоновщика. Насколько я понимаю, это не ошибка компоновщика, так как я не вижу [ilink32]
, Я не встречал никаких примеров этой ошибки.
Файл, который я добавил, имеет 25 строк в h
файл и 64865 строк в cpp
файл. Следующий метод занимает 64755 строк cpp
файл.
void __fastcall TFileName::PopulateKeyValueList()
{
SOKeyValueList->Clear();
SOKeyValueList->AddPair("AKey","AValue");
... roughly 64750 more lines like the one above adding pairs to the list
}
Это не было проблемой до того, как я добавил файл, содержащий 65 тыс. Строк кода, в проект, поэтому я считаю, что уместно задать вопрос, как мне разрешить файл, содержащий 65 тыс. Строк кода, вызывающий ошибку [bss32 Fatal Error] F1008 Out of memory ?
Как правило, не очень хорошая идея жестко кодировать данные (особенно такие большие в вашем случае) в исходный файл. Вы должны поместить информацию о паре ключ-значение в файл и прочитать их для построения списка ключ-значение.
Из-за ошибки, я думаю, что используемый вами компилятор не достаточно хорош для обработки больших исходных файлов.
Других решений пока нет …