Цитата(dimanisu @ Oct 27 2011, 12:01)

Под дебагером смотрел - сначала вызываются конструкторы, потом только main.
Все верно, так и должно быть, однако порядок вызова конструкторов определяет линковщик.
Ясное дело объекты в пределах одного cpp файла создаются в порядке их объявления (хотя я в этом не особо уверен).
А вот в каком порядке линковщих собирает откомпилированные срр файлы - неизвестно,
а это создает немалые сложности, которые зависят от компилятора.
А в классе объекты-поля ВСЕГДА создаются в порядке их перечисления - это стандарт С++.
Все это важно, когда все объекты создаются статически, т.е. до вызова main.
Но если использовать кучу - эта проблема отпадает, но возникает другая - сама куча.
Например, я стараюсь избегать использования кучи везде, где это возможно, а взамен нее использовать пулы (fixed size memory pool) или стек.
Разумеется, тут я имею ввиду embedded приложения - под виндой все это намного прозаичнее, хотя тоже требует осмысленных действий.
Я еще частенько использую другой способ - отложенная инициализация,
это когда взамен конструктора (или только часть его реализации) заменяется спец. методом, у меня он называется initialize(),
который вызывает уже в коде, это дает возможность в нужном порядке инициализировать объейты классов.
Цитата
Если не не сложно киньте ссылочкой на с++ реализацию под arm.
Для примера вот конкретно
под Win X.Есть весьма популярная
Qt, но она мне кажется монстроподобной для небольших embedded.
Ну и стандартно:
google :-))
Переписать драйвер под свой проц и железо - проблем нет.
Потом есть масса С реализаций GUI платформонезависимые, а не тока "под ARM" или что-то еще.
C++ "обертку" под C реализацию тоже можно создать. Не так сложно, как кажется - главное, сначала спроектировать все.
Например, я так сделал обертку под RTOS, теперь в ЛЮБОМ проекте мне по-барабану, какая ось стоит,
Это оказалось весьма удобной штукой как при сопровождении так и создании новых проектов на базе других.
Я бы попробовал именно такой путь (возможно, скоро этим и сам займусь )))).