
Сообщение от
Алексей89
"Стековые данные", это тоже самое что и стек?
Стековые данные - это данные, помещенные в стек. Про стек можете почитать в википедии (Аппаратный стек).

Сообщение от
Алексей89
что есть в этом контексте "ключ" и как узнать какой он у меня?
Есть ключ для программы (/LARGEADDRESSAWARE:YES), а есть ключ для ОС (/3gb).
По умолчанию, ни тот, ни другой не заданы.

Сообщение от
Алексей89
Подсчитаем память для двух динамических массивов, которые мне нужны
Фактически ограничение на разных системах могут отличаться. Поэтому, самый простой способ, это не заморачиваться с описанными выше ключами, а сделать полноценное 64-битное приложение (если BCB6 позволяет это). Или отказаться от BCB6 в пользу более новых версий, а может быть даже выбрать MS VisualStudio.

Сообщение от
Алексей89
Сам массив в этом случае, чисто случайно, не является "стековыми данными"?
Всё то, что задано через оператор
new, находится в динамической памяти (куче) и не является стековыми данными.

Сообщение от
Алексей89
как принято правильно обьявлять глобальные динамические массивы до того как известен их будущий размер?
Глобальные данные лучше вообще не использовать. Но если уж используются, сделать например глобальный указатель, а память выделить когда станет известно, сколько ее надо. Например:
C++ |
1
2
3
4
5
| int* ptr;
void SomeFunction()
{
ptr = new int[ 100500 ];
} |
|
Если перейти на 64-битное приложение проблематично, можно, я думаю, оптимизировать Вашу задачу, чтобы съедала меньше памяти. Но для этого уже нужно знать больше подробностей о ней.