• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Заполнение больших структур под WinAPI.

  • Автор темы Guest_dmitry303
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest_dmitry303

Помогите пожалуйста.
Есть такая проблема.
Пишу под WinAPI на VC++6.
Мне нужно заполнить структуру:
struct {int i;} S[12000];
S[0].i=0;
S[1].i=0;
........
S[n].i=0;

Около 3000-ного заполнения ошибка:
fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit

Что делать???
 
Z

zubr

А почему нельзя сделать просто массив?
 
G

Guest

Делать memset/ZeroMemory, и память выделять в хипе а не на стеке.
 
G

Guest

Да, про циклы, я надеюсь, автор слышал?
 
G

Guest_dmitry303

Причем здесь цикл?
Я говорю, что при заполнинии выдается ошибка.
 
G

Guest

Цикл здесь притом, что судя по приведенному кусочку кода у тебя так и написано -
S[0].i=0;
S[1].i=0;
...
S[3000].i=0;
А почему не циклом? Судя по описанию /zm, проблема как раз в таком синтаксисе. Что, правда у тебя так написано? И как ты это писал, если не секрет?
 
G

Guest

S[12000] = { 0 };

но такие большие объемы лучше не стеке не выделять.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!