Xirax
16:18 22-12-2005 Программистское
Перегоняю код из-под Линукса под VC++ 6.0
В одном месте оно мне заявляет что дескать stack overflow (под Линуксом там все работает).
Происходит эта радость при входе в некую функцию. VC++ видимо запускает свою собственную местную ассемблерную шнягу под названием chkstk.asm, которая считает стэк и радостно сообщает что перебор понимашь. Хотя по-моему нет никакого перебора.

update:
/Gs не помогает
/Gs999999999 дает Access Violation еще раньше.
Ни-че-го не понимаю

update2:
убрал флаг /Gz. Вроде помогло... Хотя оно все равно дальше падает

Как посмотреть текущий размер стэка?
Комментарии:
Kaineg
20:26 22-12-2005
э... а ты тут?
и тебе тут заняться больше нечем?
Xirax
01:08 23-12-2005
Ага Вообще за это деньгу платят. Вернее будут платить когда я наконец код под винду перегоню или ЛИНУКС ПОСТАВЛЮ.
Еще в игрушки играюсь...
Centaur
11:21 23-12-2005
Одно из двух, или у тебя там слишком глубокая рекурсия, или стрельба по памяти aka разыменование невалидных указателей. Или ещё могут быть слишком большие массивы в локальных переменных.

В общем, код в студию.

Да, а гигабайт стека тебе не дадут IMHO. Да и не нужно столько для разумных задач.
Xirax
15:52 01-01-2006
Centaur
Код в студию не выйдет, там много, и где собственно пропадает стэк -- не ясно.
Рекурсии нет. Вот насчет стрельбы по памяти и больших массивов не уверен, искал их, но не видел.