Каким требованиям должна соответствовать структура при использовании на границе общения с DLL?
Подскажите, пожалуйста, каким требованиям должна соответствовать структура для того, чтобы ее можно было использовать для общения через границу DLL (при использовании export "C")?
Для проверки структуры я могу использовать следующие шаблоны:
std::is_pod<>
std::is_standard_layout<>
std::is_trivial<>
Я не совсем понимаю, каким требованиям должна соответствовать такая структура.
Достаточно ли ей иметь стандартную компоновку (is_standard_layout)?
Может быть, она обязательно должна быть тривиальной (is_trivial)?
Или же, она должна быть именно простой (is_pod)?