Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
01.05.2004 00:17

haM3r
Участник
Зарегистрирован: 19.05.2004
Сообщений: 11

ПОМОГИТЕ С ЖЕСТКИМ БАГОМ!!!!

Люди я кричу, потому, что не могу больше!!! Помогите найти в исходниках глюк. Пишу текстовую игру на Borland C++ 3.1 Всё в одном файле на 253kb (=6500 строк) Когда компилю ругается и говорит, что "Too much global defined."
Объясните, что за фигня. Игра-то класная. Почти написал. Очень жалко бросать такой труд. Помогите, кто чем может. Пошлите мне письмо с советом или какой-то помощью. Я даже исходники дам. Лишь бы баг исправить. Очень прошу!!!
Заранее спасибо!

Неактивен

0    0    #2
05.05.2004 14:06

dennis
Участник
Зарегистрирован: 10.06.2003
Сообщений: 159

Re: ПОМОГИТЕ С ЖЕСТКИМ БАГОМ!!!!

Очевидный ответ на этот вопрос: переполнение какого-то из сегментов (скорее всего, сегмента глобальных данных, т.е. DGROUP или как там он назывался).

Какие у тебя есть в программе есть глобальные переменные (и особенно массивы)? Сколько они занимают совместно? Если их много (особенно массивов), нельзя ли от них избавиться? (Готов спорить на свою месячную зарплату, что избавиться можно без труда smile

И, кстати, что это за модель памяти — "самая большая"? LARGE, HUGE или может быть даже FLAT?

Неактивен

0    0    #3
06.05.2004 11:31

dennis
Участник
Зарегистрирован: 10.06.2003
Сообщений: 159

Re: ПОМОГИТЕ С ЖЕСТКИМ БАГОМ!!!!

OOPS! Только сейчас пришла в голову очевидная мысль.

Игра, говоришь, текстовая? Т.е. содержит множество текстовых строк? Ну так текстовые строки в C вообще-то тоже являются статическими текстовыми массивами... Так что, если объем текста (вкупе с прочим) у тебя превысил 64K, ничего удивительного, что сегмент данных переполнился. smile

Неактивен

0    0    #4
11.05.2004 13:37

dennis
Участник
Зарегистрирован: 10.06.2003
Сообщений: 159

Re: ПОМОГИТЕ С ЖЕСТКИМ БАГОМ!!!!

Вообще-то сжимать текст необязательно.
Лучше разбить файл на модули с примерно одинаковым объемом текста, и компилировать их раздельно. Модель при этом должна быть HUGE.

Неактивен

0    0    #5
13.05.2004 13:36

dennis
Участник
Зарегистрирован: 10.06.2003
Сообщений: 159

Re: ПОМОГИТЕ С ЖЕСТКИМ БАГОМ!!!!

Если ты категорически не хочешь резать код на куски, то единственный выход — переходить с Борланда на что-нибудь 32-битное. Если, конечно, совместимость с XT и AT не является жизненно важной. smile
Рекомендую попробовать DJGPP.

Неактивен

0    0    #6
17.05.2004 13:20

dennis
Участник
Зарегистрирован: 10.06.2003
Сообщений: 159

Re: ПОМОГИТЕ С ЖЕСТКИМ БАГОМ!!!!

То, что сказано выше, это тоже вариант. Правда, консольные приложения Win32, естественно, не пойдут под простым DOS. Подозреваю, что досовские программы Builder 5.0 не создает вообще. smile

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru