Я хочу, чтобы мое приложение Windows могло ссылаться на обширный набор классов и функций, завернутых в DLL, но мне нужно иметь возможность направлять приложение для выбора правильной версии эта DLL перед загрузкой. Я знаком с использованием dllexport/dllimport и созданием библиотек импорта для выполнения динамической компоновки нагрузки, но я не могу найти никакой информации о межсетевых экранах относительно возможности найти какую-либо функцию точки входа в самой библиотеке импорта, поэтому Я могу, в частности, использовать CPUID для определения конфигурации процессора хоста и принять решение о загрузке родительской DLL на основе этой информации. Более конкретно, я хотел бы построить 2 версии DLL, которая построена с помощью/ARCH: AVX и в полной мере использует инструкции SSE-AVX, а другая, которая предполагает, что ничего не доступно более новое, чем SSE2.диспетчеризация библиотеки динамических ссылок времени загрузки
Одно требование: либо DLL должна быть связана во время загрузки, либо должен быть очень простой способ ручного привязки функций, ссылающихся из-за пределов библиотеки DLL, и есть много, в основном, завернутых внутри классов.
Вопрос с бонусом: поскольку мои библиотеки будут межплатформенными, существует ли эквивалент для общих объектов на базе Linux?
Используйте шаблон фабрики, чтобы получить то, что реализацию вы хотите? – wilx
https://msdn.microsoft.com/en-us/library/windows/desktop/ms684175(v=vs.85).aspx – OldProgrammer
Я бы посмотрел на [загруженные с задержкой библиотеки DLL] (https: // msdn. microsoft.com/en-us/library/151kt790.aspx) с пользовательской [вспомогательной функцией] (https://msdn.microsoft.com/en-us/library/09t6x5ds.aspx). Помощник должен иметь возможность определять во время выполнения загрузку DLL. –