4.Еще вопросик: В заголовок (MZ), в место , где запрашивается память у DOS для программы, BC++ 3 пишет FFFF ... - можно это как-то поправить - не ручками желательно, а что-нибудь из оперы п.1. (и вообще DOS туда смотрит, а то почему-то не сбоит никогда после ручной правки [эту часть можно считать риторической])
1. Как управлять размером стека экзешника, формируемым BC++ 3 (DOS) - может прагма какая есть или параметр командной строки ... (вручную изменять значения в заголовке MZ не подходит)
2. Может кто имеет опыт создания com-прог в BC++ 3 (DOS) ... по документации не рекомендуется их делать - а почему ?
3. Может кто оверлеи делал в BC++ 3 (DOS) - как это делается .. - и вообще как кто решал проблему, если исполняемая часть программмы не влезала в ОЗУ ?
> 1. Как управлять размером стека экзешника, формируемым BC++ > 3 (DOS) - может прагма какая есть или параметр командной > строки ... (вручную изменять значения в заголовке MZ не > подходит)
#include <stdio.h>
/* Set the stack size to be greater than the default. */
/* This declaration must go in the global data area. */
extern unsigned _stklen = 1000U;
int main(void)
{ /* Show the current stack length */
printf("The stack length is %u\n", _stklen);
return 0;
}
---
> 2. Может кто имеет опыт создания com-прог в BC++ 3 (DOS) > ... по документации не рекомендуется их делать - а почему ?
Потому что это устаревший формат... размер файла < 64Кб и т.д.
Но для малениких прог в 5-7 Кб, .com - лучший вариант - файл будет меньше занимать и загружаться быстрее
> 3. Может кто оверлеи делал в BC++ 3 (DOS) - как это > делается .. - RTFM
и вообще как кто решал проблему, если
> исполняемая часть программмы не влезала в ОЗУ ?
Юзать оверлеи. кодить под Dos-Extender, переходить на винды, unix...
1. ... Спасибо.
2. Есть проблемка в том, что BCC -tDc не всегда срабатывает и вообще, хотя по документации создание комовских прог возможно, на деле ... Конвертирование exe2bin тоже не срабатывает ...
3. Отностительно FManual... какой имеется в виду.
> 1. ... Спасибо. > 2. Есть проблемка в том, что BCC -tDc не всегда срабатывает > и вообще, хотя по документации создание комовских прог > возможно, на деле ... Конвертирование exe2bin тоже не > срабатывает ...
Надо компилить в модели TINY (опция -mt) - тогда exe2bin будет работать.
Или можно сразу сделать .com командой bcc -mt -lt
> 3. Отностительно FManual... какой имеется в виду.
Как какой? TC/BC Programmer's Guide
BCC -ml -Y main.c -Yo o1.c o2.c
main.c - главный модуль
o1.c и o2.c - оверлеи
4.Еще вопросик: В заголовок (MZ), в место , где запрашивается память у DOS для программы, BC++ 3 пишет FFFF ... - можно это как-то поправить - не ручками желательно, а что-нибудь из оперы п.1. (и вообще DOS туда смотрит, а то почему-то не сбоит никогда после ручной правки [эту часть можно считать риторической])
> 2,3 ...Огромное Спасибо > > 4.Еще вопросик: В заголовок (MZ), в место , где > запрашивается память у DOS для программы, BC++ 3 пишет FFFF > ... - можно это как-то поправить - не ручками желательно, а > что-нибудь из оперы п.1. (и вообще DOS туда смотрит, а то > почему-то не сбоит никогда после ручной правки [эту часть > можно считать риторической])
DOS конечно туда смотрит, но поле это править не надо, а тем боее ручками. Если там стоит 0xFFFF, то DOS отдает всю память программе. Но RTL знает, сколько статической памяти действительно необходимо программе и при запуске "лишнюю" память освободит.