Я видел, что существует много разных причин для ссылки .DLL неявно и явно. В настоящее время я использую Visual Studio 2015 и C++ с SFML.Какова наилучшая практика между неявным связыванием и явным связыванием DLL
Неявный: -Хорошая сторона: У вас есть доступ к заголовку .DLL (.h) и известно о функции, которую она содержит. Легче связать и использовать. Меньше подвержены ошибкам. Кажется, что это самая распространенная практика.
-Подробная сторона: Абсолютно нужен файл .lib, .h и .dll для связи. Возьмите больше места на диске из-за большего количества файлов.
Явный: -Хорошая сторона: Снимите дисковое пространство из-за необходимости использования только DLL.
-Наконечная сторона: Устранить ошибку из-за возможности использования функции, которую может иметь dll, а также путем ее правильной загрузки. Невозможно узнать, какую функцию хранит dll, поскольку у вас нет заголовка.
1: Я слышал, что ссылка явно является плохой практикой. Это верно?
2: Должен ли я сосредоточиться в основном на неявной увязке?
3: Очевидно, что мои знания в DLL минимальны, есть ли еще хорошая и плохая сторона, я не видел о неявных и явных способах «связывать dll?
4: Поскольку я планирую сделать игру, рекомендуется ли разместить спрайт-лист в dll для загрузки текстуры один раз указателем?
Вы получаете это довольно неправильно, действительно лучше всего на самом деле попробовать это. На диске нет разницы, в обоих случаях вам нужно только развернуть DLL.Явные потребности * больше * пространства на вашем компьютере-разработчике, вы не можете обойти необходимость объявлять типы указателей функций и код для выкапывания экспорта. Очень болезненный код, который трудно поддерживать, особенно для большой библиотеки, такой как SFML. Вы используете только явный *, потому что * у DLL может не быть экспорта. Никогда не требуется для SFML, потому что именно вы копируете DLL. –