У меня есть код, который компилируется в библиотеку (dll, статическую библиотеку и так далее). Я хочу, чтобы пользователь этой библиотеки использовал некоторую структуру для передачи некоторых данных в качестве параметров библиотечной функции. Я подумал об объявлении struct в заголовочном файле API.
- Безопасно ли это делать, учитывая компиляцию разными компиляторами, выравнивание структур или другие вещи, о которых я не подумал?
- Потребует ли это использования одного компилятора (и флагов) для библиотеки и ее пользователя?
Несколько замечаний:
- Я думал дать пользователю указатель и установить все struct через функции в библиотеке, но это сделает API действительно неудобным для использования.
- Этот вопрос относится к C, хотя было бы неплохо узнать, есть ли разница в c++.
задан MByD 18 December 2011 в 04:49
поделиться