powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / MS VS 2017, С++, экспорт функций из dll
6 сообщений из 6, страница 1 из 1
MS VS 2017, С++, экспорт функций из dll
    #39731507
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. Верно ли я понимаю, для объявления экспортируемой из dll функции следует использовать форму:

- для соглашения о связях в стиле С, без декорирования имен:
Код: plaintext
1.
extern "C" __declspec(dllexport) объявление_функции



- с декорированием (С++) имен :
Код: plaintext
1.
2.
3.
4.
5.
extern __declspec(dllexport) объявление_функции

...равнозначно:

__declspec(dllexport) объявление_функции



?
... т.е., extern есть смысл использовать только совместно с "C" , в форме extern "C" , а __declspec(dllexport) следует использовать всегда?
...
Рейтинг: 0 / 0
MS VS 2017, С++, экспорт функций из dll
    #39731564
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
extern в "extern "C"" и extern в объявлении функции это две разные вещи.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MS VS 2017, С++, экспорт функций из dll
    #39731573
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Просто интересно, а в чём смысл писать extern __declspec(dllexport) void func() ?
Это что-то типа форвардинга?
...
Рейтинг: 0 / 0
MS VS 2017, С++, экспорт функций из dll
    #39731901
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фэйтл ЭраДобрый день. Верно ли я понимаю, для объявления экспортируемой из dll функции следует использовать форму:

- для соглашения о связях в стиле С, без декорирования имен:
Код: plaintext
1.
extern "C" __declspec(dllexport) объявление_функции



- с декорированием (С++) имен :
Код: plaintext
1.
2.
3.
4.
5.
extern __declspec(dllexport) объявление_функции

...равнозначно:

__declspec(dllexport) объявление_функции



?
... т.е., extern есть смысл использовать только совместно с "C" , в форме extern "C" , а __declspec(dllexport) следует использовать всегда?

Не совсем...
...
Рейтинг: 0 / 0
MS VS 2017, С++, экспорт функций из dll
    #39731904
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NekZDimitry Sibiryakov,

Просто интересно, а в чём смысл писать extern __declspec(dllexport) void func() ?
Это что-то типа форвардинга?

Это что-то типа идиотизма, поскольку функции и так по умолчанию extern, а не static.
...
Рейтинг: 0 / 0
MS VS 2017, С++, экспорт функций из dll
    #39731906
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фэйтл ЭраДобрый день. Верно ли я понимаю, для объявления экспортируемой из dll функции следует использовать форму:

- для соглашения о связях в стиле С, без декорирования имен:
Код: plaintext
1.
extern "C" __declspec(dllexport) объявление_функции



- с декорированием (С++) имен :
Код: plaintext
1.
2.
3.
4.
5.
extern __declspec(dllexport) объявление_функции

...равнозначно:

__declspec(dllexport) объявление_функции



?
... т.е., extern есть смысл использовать только совместно с "C" , в форме extern "C" , а __declspec(dllexport) следует использовать всегда?


Собственно, к экспорту из .dll или .exe тут относится только атрибут
__declspec(dllexport)

Всё остальное ортогонально экспорту.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / MS VS 2017, С++, экспорт функций из dll
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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