![]() |
|
|
![]()
|
|
| NumLock |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 30.7.2006 Где: Иркутск Репутация: нет Всего: нет |
Возникла проблема написания DLL (с помощью Dev-C++) для проекта на Delphi. По заветам MinGW в заголовочный файл был вставлен следующий код.
И соответственно перед каждой экспортная функция имела приблизительно следующий вид.
С компиляцией проблем не возникло. Но в уже скомпилированной DLL имя функции было следующим: _Z16example_functionv. Т.е. для того, чтобы подгрузить ее в Delphi надо было писать:
Я в принципе не гордый, а если надо будет плагин писать (меня просто не поймут |
||||||
|
|||||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
NumLock, попробуй обернуть все функции в extern "C"{}. Или в опциях компилятора поставь: компилирование кода как С.
|
|||
|
||||
| NumLock |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 30.7.2006 Где: Иркутск Репутация: нет Всего: нет |
Спасибо, полегчало.
|
|||
|
||||
| NumLock |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 30.7.2006 Где: Иркутск Репутация: нет Всего: нет |
Возникла ещё одна проблема. Код заголовочного файла следующий:
При компиляции имя функции становится следующим: example_function@0. С cdecl все нормально, но очень важно чтобы ковенция вызова была stdcall. Как это вылечить? |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
NumLock, боюсь что никак. Почитай доку к MinGW
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
по идее так:
EXPORT int __stdcall example_function(); писать нужно... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | GNU toolchain | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |