Если функция отмечена ключевым словом
Если функция отмечена ключевым словом _export, и используется любой из параметров компилятора Windows, то функция компилируется как экспортируемая и компонуется как функция экспорта. Если
функция не помечена ключевым словом _export, Borland C++ будет
выполнять одно из следующих действий:
* При компиляции с параметром -W/-WC или -WD/-WCD (или эквивалентными установками интегрированной среды IDE) функция
будет компилироваться как экспортируемая. Если функция
указывается в секции EXPORTS, то она будет компоноваться
как функция экспорта. Если она не указывается в файле определения модуля, или файл определения модуля не компонуется, то она не будет компоноваться как функция экспорта.
* При компиляции с параметром -WE или -WDE/-WCDE (или эквивалентными установками интегрированной среды IDE) функция
не будет компилироваться как экспортируемая. Включение
этой функции в секцию EXPORTS файла определения модуля
приводит к тому, что она будет экспортируемой, однако,
поскольку начальный код будет некорректен, программа не
будет правильно работать. В 16-разрядном окружении вы можете получить сообщение об ошибке Windows.
Результат комбинирования параметров компилятора с ключевым
словом _export описывается следующей таблицей:
Функция помечена + + + + - - - -
словом _export?
Функция перечислена + + - - + + - -
в EXPORTS
Параметр -W -WE -W -WE -W -WE -W -WE
компилятора -WD -WDE -WD -WDE -WD -WDE -WD -WDE
Функция + + + + + - + -
экспортируема?
Функция будет + + + + + + (1) - (2) -
экспортируемой?
1 - функция будет в некотором смысле экспортируемой, но
из-за некорректности начального и завершающего кода функция будет
работать не так как ожидается.
2 - эта комбинация также имеет смысл. Нет смысла компилировать все функции как экспортируемые, если реально вы экспортируете только некоторые из них.