Visual Studio C ++: Когда следует использовать __declspec (dllimport)?

У меня возник вопрос о создании / компоновке DLL в Visual Studio 2005 и более поздних версиях. В основном мое понимание и опыт таковы:

Для создания библиотеки DLL я указываю свойства проекта для создания библиотеки DLL, а затем добавляю __declspec (dllexport) перед любыми функциями или членами, которые я хочу опубликовать из библиотеки DLL. . Сборка проекта приведет к созданию библиотеки DLL, библиотеки Lib и файла заголовка, которые могут быть развернуты, например, как API или что-то в этом роде.

С другой стороны, чтобы другое скомпилированное исполняемое приложение динамически связывалось с DLL и использовало ее функций, вам просто нужно, чтобы ваш исполняемый проект включал файлы заголовков и был связан с небольшим файлом библиотеки, который был создан при сборке DLL. Пока скомпилированное приложение может найти DLL, все будет работать.

Это был мой опыт, и это также то, как руководство по созданию библиотеки Microsoft DLL описывает все на MSDN. Мне интересно: это стандартная практика? Когда вам когда-нибудь понадобится использовать __declspec (dllimport) где угодно? Я что-то упустил?

Спасибо!

7
задан Russel 18 January 2011 в 07:12
поделиться