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

 
 
> Softune FR и инициализация конструкторов статических объектов
WiseAlex
сообщение Apr 8 2008, 07:40
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 36
Регистрация: 9-11-06
Пользователь №: 22 115



несколько не по теме - больше связано с программированием, но есть надежна, что здесь ответят быстрее smile.gif
проект на Softune FR - при подключении нескольких файлов cpp конструкторы статических объектов вызываются только в том файле где main() как в эмуляторе так и на железяке.
в стартапе кусок с вызовом конструкторов есть...
подскажите куда копать
может в настройках что-то напутал - но остальное работает
если надо - выложу пример
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
WiseAlex
сообщение Apr 8 2008, 08:51
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 36
Регистрация: 9-11-06
Пользователь №: 22 115



разобрался: в стартапе куска не хватало smile.gif инициализация была а цикла в ней не было...
Go to the top of the page
 
+Quote Post
spf
сообщение Apr 9 2008, 15:33
Сообщение #3


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(WiseAlex @ Apr 8 2008, 14:51) *
разобрался: в стартапе куска не хватало smile.gif инициализация была а цикла в ней не было...

Было подобное, боролся при портировании scmRTOS год назад, в статрапах для примеров (которые взял за основу) не было вызовов конструкторов.
Потом взял стартап то ли из "свежей" версии Softune, то ли из свежих примеров.


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
WiseAlex
сообщение Apr 22 2008, 08:43
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 36
Регистрация: 9-11-06
Пользователь №: 22 115



Есть еще одна проблема, которую пока не понимаю как решить корректно и как продиагностировать
Суть в том, что сложные константные структуры не инициализируются. при этом пока не могу отловить точную зависимость - когда и почему перестают инициализироваться. Лечу пока обрезанием слова const
пример:
Код
const SFullIndicatorData AllFormPanelIconData[]=
{
    // двигатель
  {0, rcIMAGE64x64_engine, false, 1,
    {
      {dataEngineCoolantLevel //это структура, определяемая в другом файле а здесь как extern.
                                          //этот член не инициализировался
,              50, PWF_FIXED_NAN, PWF_FIXED_NAN, PWF_FIXED_NAN},
//...
    }, "EngineFormManager"
  },
//...
}

достаточно убрать const t все OK
сталкивался с таким только в const массивах
Go to the top of the page
 
+Quote Post
spf
сообщение Apr 22 2008, 12:39
Сообщение #5


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(WiseAlex @ Apr 22 2008, 14:43) *
Есть еще одна проблема, которую пока не понимаю как решить корректно и как продиагностировать

Тут ничего не подскажу. В доках про это ни чего не написано?
Попробуй написать в поддержку, они достаточно оперативно и толково отвечают, иногда даже выкладывали пофиксенные версии или пакеты исправлений.

Какая версия пакета?
Пользовал пакет FRSTAPACK600008FME01 с диска версии 5.1 от марта 2007 года.
Должна уже более свежая версия появиться, они каждый год обновляют в феврале/марте.

PS:
Для FR можно GCC собрать wink.gif


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
WiseAlex
сообщение Apr 22 2008, 17:06
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 36
Регистрация: 9-11-06
Пользователь №: 22 115



Цитата(spf @ Apr 22 2008, 15:39) *
Тут ничего не подскажу. В доках про это ни чего не написано?
Попробуй написать в поддержку, они достаточно оперативно и толково отвечают, иногда даже выкладывали пофиксенные версии или пакеты исправлений.

чтобы писать в поддержку надо сделать небольшой сэмпл в котором я смогу воспроизвести этот глюк, как-то жалко мне их если я им весь проект скину (около 10 МБ исходников smile.gif )
Цитата
Какая версия пакета?
Пользовал пакет FRSTAPACK600008FME01 с диска версии 5.1 от марта 2007 года.
Должна уже более свежая версия появиться, они каждый год обновляют в феврале/марте.

да компилятор с диска 5.1
обновление, как выяснилось, вышло. будем просить у КТЦ
Цитата
PS:
Для FR можно GCC собрать wink.gif

про это вроде как знаю, но руки не доходят. может есть уже готовый собранный вариант с каким-нибудь примером - или инструкция по сборке был бы очень признателен (времени разобраться все как-то не хватает), а то меня кодогенератор Fujitsu мягко говоря не впечатляет(inline делать не умеет) да и багов хватает
например сингелтон меерса, определенный в h файле работает неправильно
т.е. в h
Код
MyClass & GetMyClass()
{
  static MyClass aMyClass;
  return aMyClass;
}

если включить в несколько единиц трансляции, то будет несколько экземпляров aMyClass

ps.
интересно чей у fujitsu компилятора front-end - достаточно корректно работает и с шаблонами и с макросами (boost::preprocessor завелся практически без бубна). неужели свой?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 16:20
Рейтинг@Mail.ru


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