powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объявление DLL функции
3 сообщений из 3, страница 1 из 1
Объявление DLL функции
    #34033614
VORP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, как надо объявлять функцию в DLL чтобы она была видна снаружи DLL и в то же время использовала соглашение о вызове функции __stdcall?
Если писать extern "C" int __declspec(dllexport) Read(char* c) - то функция видна, но выдаётся ошибка о неверном соглашении о вызове.
Если extern "C" int __stdcall Read(char* c) - то функция не видна в DLL.
Изменить функцию вызова не представляется возможным. Ещё работают стандартные функции WinAPI, как они объявлены?
Спасибо
...
Рейтинг: 0 / 0
Объявление DLL функции
    #34033647
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я делаю так:

Код: plaintext
1.
_declspec(dllexport) int __stdcall func(int, int);

К тому же в VC++ для оставления имен функции так как есть используется def-файл:
libname.def
LIBRARY "libname.DLL"

EXPORTS
func


можно так:
libname.def
LIBRARY "libname.DLL"

EXPORTS
func @1


Кстати, в 2005-й надо, по моему, в параметрах проекта его прописать
...
Рейтинг: 0 / 0
Объявление DLL функции
    #34036083
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
extern "C" int __declspec(dllexport) Read(char* c) -
не писать extern "C".
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объявление DLL функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]