Как в С++ модуле организовать аналог паскалевских initializa
От: BloodKiller  
Дата: 11.02.09 19:13
Оценка:
Как в С++ модуле организовать аналог паскалевских initialization и finalization
Re: Как в С++ модуле организовать аналог паскалевских initia
От: Alexander G Украина  
Дата: 11.02.09 19:39
Оценка: 1 (1)
Здравствуйте, BloodKiller, Вы писали:

BK>Как в С++ модуле организовать аналог паскалевских initialization и finalization


Конструктор и десткруктор класса, объект которого — глобальная переменная.

Но полного аналога так не получится, т.к. порядок инициализаций между единицами не определён.
Русский военный корабль идёт ко дну!
Re: Как в С++ модуле организовать аналог паскалевских initia
От: byleas  
Дата: 11.02.09 21:21
Оценка:
Здравствуйте, BloodKiller, Вы писали:

BK>Как в С++ модуле организовать аналог паскалевских initialization и finalization

Смотрим в сторону описаниявремени жизни статических объектов.
Re: Как в С++ модуле организовать аналог паскалевских initia
От: Arsenicum Россия  
Дата: 12.02.09 08:20
Оценка:
Здравствуйте, BloodKiller, Вы писали:

BK>Как в С++ модуле организовать аналог паскалевских initialization и finalization

Синглетон по Александреску.
Re: Как в С++ модуле организовать аналог паскалевских initia
От: RealBobEx  
Дата: 12.02.09 16:36
Оценка:
Здравствуйте, BloodKiller, Вы писали:

BK>Как в С++ модуле организовать аналог паскалевских initialization и finalization


Arsenicum абсолютно прав. На 200%
Re: Как в С++ модуле организовать аналог паскалевских initia
От: jazzer Россия Skype: enerjazzer
Дата: 12.02.09 17:26
Оценка:
Здравствуйте, BloodKiller, Вы писали:

BK>Как в С++ модуле организовать аналог паскалевских initialization и finalization


посмотри, как это сделано для системы iostream (искать iosinit, не помню точно, в каком регистре пишется)
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: Как в С++ модуле организовать аналог паскалевских ini
От: K13 http://akvis.com
Дата: 16.02.09 11:45
Оценка:
BK>>Как в С++ модуле организовать аналог паскалевских initialization и finalization

AG>Конструктор и десткруктор класса, объект которого — глобальная переменная.

AG>Но полного аналога так не получится, т.к. порядок инициализаций между единицами не определён.

Есть еще одна засада -- если эта единица трансляции сунута в либу, то линкер может ее и не добавить...
Re[3]: Как в С++ модуле организовать аналог паскалевских ini
От: Denys V. Украина http://ua.linkedin.com/in/dvalchuk
Дата: 17.02.09 09:57
Оценка:
Здравствуйте, K13, Вы писали:


BK>>>Как в С++ модуле организовать аналог паскалевских initialization и finalization


AG>>Конструктор и десткруктор класса, объект которого — глобальная переменная.

AG>>Но полного аналога так не получится, т.к. порядок инициализаций между единицами не определён.

K13>Есть еще одна засада -- если эта единица трансляции сунута в либу, то линкер может ее и не добавить...


__declspec( dllexport )
С уважением Denys Valchuk

IMHO чем больше мнений тем оптимальней выбор варианта... :)
Re: Как в С++ модуле организовать аналог паскалевских initia
От: Аноним  
Дата: 19.02.09 18:42
Оценка: 1 (1)
Здравствуйте, BloodKiller, Вы писали:

BK>Как в С++ модуле организовать аналог паскалевских initialization и finalization


Пожалуйста, НЕ надо!!!

Как дельфиец с достаточно большим стажем, категорически протестую. Это плохой дизайн, при большом кол-ве модулей порядок их инициализации начинает зависеть друг от друга и от порядка перечисления в uses (т.е. #include). Не говоря уже про "жирное" время старта такого приложения. Ой, сейчас-сейчас, у меня тут еще ...дцать модулёчков надо доинициализировать, погоди, юзерок, погоди...

Не рассыпайте себе (и другим) граблей, пишите код с явной фазой инициализации компонентов (либ).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.