8.3.3. Разработка совместимых библиотек

We use cookies. Read the Privacy and Cookie Policy

8.3.3. Разработка совместимых библиотек

При разработке собственных библиотек необходимо знать факторы, делающие библиотеку несовместимой. Существуют три основных причины несовместимости.

1. Изменение или удаление интерфейсов экспортированных функций.

2. Изменение экспортированных элементов данных, исключая добавление необязательных элементов в конец структур, размещенных внутри библиотеки.

3. Изменение поведения функций, выходящее за пределы первоначальной спецификации.

Для поддержания совместимости версий библиотеки можно предпринимать следующие действия.

• Добавлять новые функции под другими именами, а не изменять определения или интерфейсы существующих функций.

• При изменении определений экспортированных структур элементы следует добавлять только в конец структур и сделать дополнительные элементы необязательными либо заполняемыми самой библиотекой. Не расширяйте структуры, распределяемые за пределами библиотеки. В противном случае приложения не смогут распределить правильный объем памяти. Не расширяйте структуры, используемые в массивах.