powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какие типы данных допустимо использовать в параметрах экспортируемых функций DLL ?
11 сообщений из 11, страница 1 из 1
Какие типы данных допустимо использовать в параметрах экспортируемых функций DLL ?
    #39044968
cpp2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Везде в документации и примерах в основном используется только 3 типа: int, char, double.
А как на счёт bool, __int64, unsigned __int64 и т.д. ? Можно ли их использовать или нежелательно ? Или предпочтительнее всегда использовать только простые int, char, double, чтобы избежать возможных проблем с вызовом функций из других программ и языков ? Существует ли какой-то регламент, стандарт или "правила хорошего тона" на этот счёт ?
...
Рейтинг: 0 / 0
Какие типы данных допустимо использовать в параметрах экспортируемых функций DLL ?
    #39044985
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использовать можно что угодно. Важно только понимать как это действует на уровне железа
(ассемблера).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Какие типы данных допустимо использовать в параметрах экспортируемых функций DLL ?
    #39044989
Зимаргл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем. Рекомендуется ограничиваться POD - типами.

http://en.cppreference.com/w/cpp/concept/PODType
...
Рейтинг: 0 / 0
Какие типы данных допустимо использовать в параметрах экспортируемых функций DLL ?
    #39045012
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗимарглРекомендуется ограничиваться POD - типами.
Да ну, pure abstract class-ы передаются тоже легко.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Какие типы данных допустимо использовать в параметрах экспортируемых функций DLL ?
    #39045047
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗимарглНе совсем. Рекомендуется ограничиваться POD - типами.

http://en.cppreference.com/w/cpp/concept/PODType


не пиши ерунду.
можно экспортировать все что угодно.
...
Рейтинг: 0 / 0
Какие типы данных допустимо использовать в параметрах экспортируемых функций DLL ?
    #39045054
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot cpp2015]Везде в документации и примерах в основном используется только 3 типа: int, char, double.

а что ж ты еще хотел увидеть в примерах? библиотеку на 100 классов и их экспорт ?


А как на счёт bool, __int64, unsigned __int64 и т.д. ? Можно ли их использовать или нежелательно ?

можно

Или предпочтительнее всегда использовать только простые int, char, double, чтобы избежать возможных проблем с вызовом функций из других программ и языков ?

вызов из других языков - тема отдельная, и очень большая.



Существует ли какой-то регламент, стандарт или "правила хорошего тона" на этот счёт ?


если внутри языка - нет. если между разными языками и платформами -- зависит от конкретного языка и платформы. например есть JNI, COM...
...
Рейтинг: 0 / 0
Какие типы данных допустимо использовать в параметрах экспортируемых функций DLL ?
    #39094835
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv А как на счёт bool, __int64, unsigned __int64 и т.д. ? Можно ли их использовать или нежелательно ?

можно

Или предпочтительнее всегда использовать только простые int, char, double, чтобы избежать возможных проблем с вызовом функций из других программ и языков ?

вызов из других языков - тема отдельная, и очень большая.

Действительно. В стандарте Си, например, указано что в каждой конкретной реализации могут быть определены так называемые extended intger types. И эти типы совместно со standart integer types образуют integer types. Размер каждого типа данных из standart integer types зависит среды, extended types не зависят от внешних факторов и всегда имеют фиксированный размер. Почему бы тогда не отказаться от использования типов из множества standart integer types ? Есть ли причины, кроме совместимости с уже созданными программами, чтобы не отказываться от standart integer types?

PS
Меня смущает что у нас получается какая-то мини-виртуальная машина.
...
Рейтинг: 0 / 0
Какие типы данных допустимо использовать в параметрах экспортируемых функций DLL ?
    #39094839
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SSДействительно. В стандарте Си
И в стандарте С++ аналогично
...
Рейтинг: 0 / 0
Какие типы данных допустимо использовать в параметрах экспортируемых функций DLL ?
    #39095371
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryPS
Меня смущает что у нас получается какая-то мини-виртуальная машина. При чем тут машина? Потенциально библиотеки и программу можно собирать разными компиляторами. Если внутренняя реализация типов окажется разной, то библиотека будет несовместима с программой.
Если программа и библиотеки собираются одним компилятором, то проблем быть не должно.
...
Рейтинг: 0 / 0
Какие типы данных допустимо использовать в параметрах экспортируемых функций DLL ?
    #39095412
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenabSashaMercuryPS
Меня смущает что у нас получается какая-то мини-виртуальная машина. При чем тут машина? Потенциально библиотеки и программу можно собирать разными компиляторами. Если внутренняя реализация типов окажется разной, то библиотека будет несовместима с программой.
Если программа и библиотеки собираются одним компилятором, то проблем быть не должно.


На самом деле это всё сводится к понятию ABI. Если он определён, и компоненты программы работают в рамках одного ABI, то всё ОК,
если нет -- всё плохо.
...
Рейтинг: 0 / 0
Какие типы данных допустимо использовать в параметрах экспортируемых функций DLL ?
    #39096024
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab При чем тут машина? Потенциально библиотеки и программу можно собирать разными компиляторами. Если внутренняя реализация типов окажется разной, то библиотека будет несовместима с программой.
Если программа и библиотеки собираются одним компилятором, то проблем быть не должно.

Замечание не по существу. То что я имел ввиду вполне понятно. Не нужно сильно абстрагироваться
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какие типы данных допустимо использовать в параметрах экспортируемых функций DLL ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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