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

 
 
> Конструктор extern класса и отладка
_Макс
сообщение Jun 7 2010, 18:09
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Почему при старте или рестарте отладки в IAR конструктор класса extern не выполняется, и только при нажатии reset (без перезапуска отладки) выполняется содержимое конструктора класса? От чего такая логика? Вернее не выполняются вызовы методов класса.

Сообщение отредактировал _Макс - Jun 7 2010, 18:13
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dxp
сообщение Jun 8 2010, 02:51
Сообщение #2


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(_Макс @ Jun 8 2010, 01:09) *
Почему при старте или рестарте отладки в IAR конструктор класса extern не выполняется, и только при нажатии reset (без перезапуска отладки) выполняется содержимое конструктора класса? От чего такая логика? Вернее не выполняются вызовы методов класса.

Хотелось бы узнать, что понимается под extern классом. И в каком месте что не выполняется.

Функции-члены класса - это, в общем-то, обычные функции, вызываемые обычным образом (за исключением того, что им неявно передается еще один параметр this - адрес объекта, для которого вызывается функция-член). Если у вас отладчик, так просто посмотрите в окне дизассемблера, что там реально в проце творится - имеется ли вызов функции или нет.

Еще следует иметь в виду, что к моменту вызова функции-членов объект должен быть полностью сконструирован. Поэтому играет роль то обстоятельство, где и как создается объект - в глобальной области видимости, в локальной (в функции), в свободной памяти...

В общем, вы слишком мало сообщили данных, чтобы дать более-менее конкретный ответ.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 05:27
Рейтинг@Mail.ru


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