Как сделать загрузку объекта без ссылки в C ++?

у меня есть.cpp файл (пустьзови этоstatinit.cpp) скомпилирован и связан с моим исполняемым файлом, используяgcc, мойmain() функцияне в .statinit.cpp

statinit.cpp есть некоторые статические инициализации, которые мне нужно запустить. Тем не менее, я никогда явно не ссылаюсь ни на что изstatinit.cpp в моемmain()или во всем, на что ссылается. Что происходит (я полагаю), что связанный объект создан изstatinit.cpp никогда не загружается во время выполнения, поэтому мои статические инициализации никогда не запускаются, что вызывает проблему в другом месте кода (это было очень трудно отладить, но я в конечном итоге отследил это).

Существует ли стандартная библиотечная функция, опция компоновщика, опция компилятора или что-то, что может позволить мне принудительно загрузить этот объект во время выполнения без ссылки на один из его элементов?

Я подумал, что нужно определить фиктивную функцию в statinit.cpp, объявить ее в заголовочном файле, которыйmain() видит и вызывает эту фиктивную функцию изmain(), Тем не менее, это очень уродливое решение, и яя очень хотел бы избежать внесения изменений в сам statinit.cpp.

Спасибо Даниэль

Ответы на вопрос(8)

Ваш ответ на вопрос