Spec-Zone.ru › MySQL Connectors 1.0
Глава 2 Реализации MySQL C API

Глава 2 Реализации MySQL C API

MySQL C API — это API на C, который приложения-клиенты, написанные на C, могут использовать для взаимодействия с MySQL Server. Клиентские программы ссылаются на заголовочные файлы C API во время компиляции и связываются с файлом библиотеки C API, libmysqlclient, во время компоновки.

Для получения заголовочных файлов C API и файлов библиотек, необходимых для построения клиентских программ C API, установите дистрибутив MySQL Server.

Вы можете установить двоичный дистрибутив, содержащий предварительно скомпонованные файлы C API, или использовать исходный дистрибутив MySQL Server и самостоятельно скомпилировать файлы C API. Компиляция MySQL Server также компилирует libmysqlclient; см. . Она не может быть скомпилирована отдельно, но её конфигурация связана с опциональным параметром CMake.

Имена файлов библиотек, которые следует использовать при компоновке приложений-клиентов C API, зависят от типа библиотеки и платформы, для которой построен дистрибутив:

  • В системах Unix (и системах, аналогичных Unix), статическая библиотека — libmysqlclient.a. Динамическая библиотека — libmysqlclient.so в большинстве систем Unix и libmysqlclient.dylib в macOS.

  • В Windows статическая библиотека — mysqlclient.lib, а динамическая библиотека — libmysql.dll. Дистрибутивы Windows также включают libmysql.lib — статическую библиотеку импорта, необходимую для использования динамической библиотеки.

    Дистрибутивы Windows также включают набор библиотек отладки. У них такие же имена, как у библиотек без отладки, но они находятся в библиотеке lib/debug. Вы должны использовать библиотеки отладки при компиляции клиентов, скомпилированных с использованием отладочной версии C-runtime.

В Unix также могут встречаться библиотеки, в названиях которых включено _r. До MySQL 5.5 они создавались как потокобезопасные (перевходовые) библиотеки отдельно от библиотек без _r. Начиная с версии 5.5, обе библиотеки идентичны, а имена с _r — это символические ссылки на соответствующие имена без _r. Нет необходимости использовать библиотеки с _r. Например, если вы используете mysql_config для получения флагов компоновщика, вы можете использовать mysql_config --libs во всех случаях, даже для потоковых клиентов. Нет необходимости использовать mysql_config --libs_r.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/c-api-8.0-en/c-api-implementations.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API