реклама на сайте
подробности

 
 
> Extended Embedded C++ и кол-во объектов, Создает динамически не более двух, на третьем зависает.
Colobox
сообщение Aug 26 2008, 10:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 31-10-07
Пользователь №: 31 901



Вот такая простенькая программа:
Код
................
TByte*bb0,*bb1,*bb2;
.................
//---------------------------
int main()
{
    bb0=new TByte(1);
    bb1=new TByte(2);
    bb2=new TByte(3);
}
//-----------------------------

TByte - некий тип объектов с параметром.
При прогоне JTAG выдает: "The application aborted."
В случае:
Код
//---------------------------
int main()
{
    bb0=new TByte(1);
    bb1=new TByte(2);
}
//-----------------------------

все нормально, прога прокатывает без особенностей.
Неужели количество динамически создаваемых объектов проблемно или
ограниченно?! Или просто глюк? crying.gif
Надеюсь, просто чо-то не понимаю.
P.S. IAR for AVR 4.20

Сообщение отредактировал Colobox - Aug 26 2008, 10:57
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergeeff
сообщение Aug 26 2008, 13:37
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Можно и так сделать. Но кто-то должен кучу инициировать с указанием начального адреса и объема. Интересно, а как ты себе представляешь "инициализируется автоматически"? Скорее всего в startup'e вызывается фукция инициализации кучи (а может и не вызывается, не всем же нужна куча!). Так вот и возникают два вопроса:
1. Вызывается ли функция инициализации?
2. С какими параметрами?

Может куча и создается, но размером в 8-16 или кто его знает байт. Вот туда что-то помещается, а больше - нет.

Вообще полезно при написании программ с этим делом сразу разобраться, чтобы в будущем понимать что к чему. Да. кстати интересно, а что кажет sizeof(TByte)?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th August 2025 - 14:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01283 секунд с 7
ELECTRONIX ©2004-2016