Создание в среде Borland C++ Builder dll, совместимой с Visual C++
Роман Мананников
Проблемы взаимодействия
Сложность использования dll, созданной с помощью Borland C++ Builder (далее BCB), в проектах, разрабатываемых в средах Microsoft, обусловлена тремя основными проблемами . Во-первых, Borland и Microsoft придерживаются разных соглашений о наименовании (naming convention) функции в dll. В зависимости от того, как объявлена экспортируемая функция, ее имя может быть дополнено компилятором определенными символами. Так, при использовании такого соглашения о вызове (calling convention), как __cdecl, BCB перед именем функции добавляет символ подчеркивания. Visual C++ (далее VC), в свою очередь, при экспорте функции как __stdcall добавит к ее имени помимо подчеркивания также информацию о списке аргументов (символ @ плюс размер списка аргументов в байтах).
ПРИМЕЧАНИЕ Использование соглашения __stdcall означает, что вызываемая функция сама удалит из стека свои аргументы. Соглашение __cdecl, наоборот, обязывает очищать стек вызывающую функцию. Объявление функции как __cdecl приведет к некоторому (незначительному) увеличению размера конечного исполняемого файла, поскольку каждый раз после вызова этой функции требуется код по очистке стека, с другой стороны, именно из-за очистки стека вызывающей функцией допускается передача переменного числа параметров. В стек параметры и в том, и в другом случае помещаются справа налево. Больше работ по теме:
Хуки и DLL
Реферат Active Directory for Application Mode Реферат Реализация отложенной загрузки библиотек на С++ Реферат Программирование служб: подробности Реферат Разработать программу на алгоритмическом языке программирования С++ , реализующую учебную систему управления базой данных Реферат Предмет: Информатика, ВТ, телекоммуникации Тип работы: Реферат Новости образования
Российский государственный социальный университет реорганизует сеть своих филиалов
22 Июля 2016 16:26 Более 70 представителей крупных вузов АСЕАН подтвердили участие в форуме во Владивостоке 22 Июля 2016 12:51 Абызов: публикация первичных статсведений снизит бюрократическую нагрузку на школы 22 Июля 2016 11:53 В Чечне свыше 200 школьников сдали ЕГЭ с результатом свыше 90 баллов - министр 22 Июля 2016 05:36 Замглавы Минобрнауки РФ: задача сократить число людей с высшим образованием не стоит 21 Июля 2016 20:19 КОНТАКТНЫЙ EMAIL: [email protected] Скачать реферат © 2017 | Пользовательское соглашение ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ |