Re: Инициализация глобальных переменных в библиотеке
От: _Winnie Россия C++.freerun
Дата: 18.02.06 03:36
Оценка:
Здравствуйте, Simbio, Вы писали:

S>Здравствуйте,моя прогрмма состоит из двух проектов — статической библиотеки (.lib) и графической части, котоорая связывается с этой библиотекой.

S>В библиотеке есть код следующего вида:

S>Я ожидал, что будет создано по одному глобальному объекту каждого класса, но вместо этого создается только g_foo2Proxy.

S>Программу компилирую в Visual C++ 7.1 с отключенной оптимизацией (Debug). Кроме определения, эти глобальные переменные нигде больше не используются, и служат для регистрации класса FooXProxy в DriverFactory.

S>Хотелось бы понять, почему так происходит, и более общий вопрос, когда и как создаются глобальные объекты в статических библиотеках?

К сожалению, способа автоматической объектов из .lib регистрации неизвестно.
Вызывай функцию-пустышку для какждого такого .cpp
Правильно работающая программа — просто частный случай Undefined Behavior
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.