Импорт и экспорт встроенных функций
Обновлен: Ноябрь 2007
Импортируемые функции можно определить как встраиваемые функции. Результат является примерно тот же, что и при определении стандартной встроенной функции; вызовы функций расширяются во встроенный код, что во многом напоминает макрос. Это в основном применяется в качестве средства поддержки классов C++ в библиотеке DLL, в которую с целью повышения производительности могут встраиваться некоторые функции-члены.
Одной из особенностей импортируемой встроенной функции является возможность считывания её адреса в C++. Компилятор возвращает адрес копии встроенной функции, находящейся в библиотеке DLL. Другой особенностью импортируемых встроенных функций является возможность инициализации статических локальных данных импортируемой функции, в отличие от глобальных импортируемых данных.
Внимание! |
---|
Следует соблюдать осторожность при передаче импортируемых встроенных функций, поскольку они могут вызывать конфликты версий. Встроенная функция расширяется в код приложения; поэтому, если в дальнейшем вы переписываете эту функцию, она не обновится, если не выполнить повторную компиляцию приложения. (Обычно функции библиотек DLL обновляются без повторного построения приложений, в которых они используются.) |