У меня есть заголовок .dll, который объявляет класс.Глобальный заголовок .dll
После объявления класса он создает статический объект класса.
Функции .dll экспортируют интерфейс со статическим объектом.
Я получаю необъяснимое segfault, когда возвращается первый вызов в одну из этих экспортируемых функций. Так что мой вопрос: Можно ли объявить статический объект в DLL-заголовке, как это:
class Foo{
public:
void bar();
};
static Foo foo;
__declspec(dllexport) void func() { foo.bar(); }
http://stackoverflow.com/questions/92546/variable-declarations-in-header-files-static-or-not –
@NO_NAME Я не понимаю причину связи. Вы можете мне помочь? –
Ссылка о том, что происходит, когда вы помещаете определение переменной в заголовок. Короче: это, как правило, плохая идея. Возможно, [singleton] (http://stackoverflow.com/questions/1008019/c-singleton-design-pattern) - лучший способ. (Это зависит от того, чего вы хотите достичь.) –