Здравствуйте, BloodKiller, Вы писали:
BK>Как в С++ модуле организовать аналог паскалевских initialization и finalization
Пожалуйста, НЕ надо!!!
Как дельфиец с достаточно большим стажем, категорически протестую. Это плохой дизайн, при большом кол-ве модулей порядок их инициализации начинает зависеть друг от друга и от порядка перечисления в uses (т.е. #include). Не говоря уже про "жирное" время старта такого приложения. Ой, сейчас-сейчас, у меня тут еще ...дцать модулёчков надо доинициализировать, погоди, юзерок, погоди...
Не рассыпайте себе (и другим) граблей, пишите код с явной фазой инициализации компонентов (либ).
Как в С++ модуле организовать аналог паскалевских initializa
Здравствуйте, BloodKiller, Вы писали:
BK>Как в С++ модуле организовать аналог паскалевских initialization и finalization
Смотрим в сторону описаниявремени жизни статических объектов.
Re: Как в С++ модуле организовать аналог паскалевских initia
BK>>Как в С++ модуле организовать аналог паскалевских initialization и finalization
AG>Конструктор и десткруктор класса, объект которого — глобальная переменная. AG>Но полного аналога так не получится, т.к. порядок инициализаций между единицами не определён.
Есть еще одна засада -- если эта единица трансляции сунута в либу, то линкер может ее и не добавить...
Re[3]: Как в С++ модуле организовать аналог паскалевских ini
BK>>>Как в С++ модуле организовать аналог паскалевских initialization и finalization
AG>>Конструктор и десткруктор класса, объект которого — глобальная переменная. AG>>Но полного аналога так не получится, т.к. порядок инициализаций между единицами не определён.
K13>Есть еще одна засада -- если эта единица трансляции сунута в либу, то линкер может ее и не добавить...
__declspec( dllexport )
С уважением Denys Valchuk
IMHO чем больше мнений тем оптимальней выбор варианта... :)