• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Заполнение больших структур под 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 };

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

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