Spec-Zone .ru
спецификации, руководства, описания, API
|
API MySQL C является API на базе С, который клиентские приложения, записанные в C, могут использовать, чтобы связаться с MySQL Server. Клиентские программы относятся к заголовочным файлам API C во время компиляции и соединяются с файлом библиотеки API C во время ссылки. Библиотека приезжает в две версии, в зависимости от того, как приложение предназначается, чтобы связаться с сервером:
libmysqlclient
: Клиентская версия библиотеки,
пользовавшейся для приложений, которые связываются по сетевому соединению как клиент процесса
автономного сервера.
libmysqld
: Встроенная версия сервера библиотеки,
пользовавшейся для приложений, предназначенных, чтобы включать встроенный сервер MySQL в пределах
приложения непосредственно. Приложение связывается с его собственным частным экземпляром сервера.
У обеих библиотек есть тот же самый интерфейс. С точки зрения вызовов API C приложение связывается с автономным
сервером тем же самым путем, оно связывается со встроенным сервером. Данный клиент может быть создан, чтобы
связаться с автономным или встроенным сервером, в зависимости от того, соединяется ли он против libmysqlclient
или libmysqld
в создают время.
Есть два способа получить заголовок API C и файлы библиотеки, требуемые создавать клиентские программы API C:
Установите распределение MySQL Server. Дистрибутивы сервера включают обоих libmysqlclient
и libmysqld
.
Установите MySQL распределение Connector/C. Дистрибутивы Connector/C включают
только libmysqlclient
. Они не включают libmysqld
.
И для MySQL Server и для MySQL, Connector/C, можно установить двоичное распределение, которое содержит файлы API C, предварительно созданные, или можно использовать исходное распределение и создать файлы API C самостоятельно.
Обычно, Вы устанавливаете или распределение MySQL Server или MySQL распределение Connector/C, но не оба. Для получения информации о проблемах, связанных с одновременным MySQL Server и MySQL установки Connector/C, см. Раздел 21.8.2, "Одновременный MySQL Server и MySQL Установки Connector/C".
Имена файлов библиотеки, чтобы использовать, соединяясь C клиентские приложения API зависят от типа библиотеки и платформы, для которой создается распределение:
На Unix (и Подобный Unix) sytems, статическая библиотека libmysqlclient.a
.
Динамическая библиотека libmysqlclient.so
на большинстве систем Unix и
libmysqlclient.dylib
на Mac OS X.
Для дистрибутивов, которые включают встроенные библиотеки сервера, соответствующие имена библиотеки
начинаются libmysqld
вместо libmysqlclient
.
На Windows статическая библиотека mysqlclient.lib
и
динамическая библиотека libmysql.dll
. Дистрибутивы Windows также включают
libmysql.lib
, статическая библиотека импорта, необходимая для того, чтобы
пользоваться динамической библиотекой.
Для дистрибутивов, которые включают встроенные библиотеки сервера, соответствующие имена библиотеки
mysqlserver.lib
, libmysqld.dll
, и libmysqld.lib
.
Дистрибутивы Windows также включают ряд библиотек отладки. Они имеют те же самые имена как
библиотеки неотладки, но располагаются в lib/debug
библиотека. Следует
пользоваться библиотеками отладки, когда компиляция клиентов создавала использование отладки C время
выполнения.
На Unix можно также видеть библиотеки, которые включают _r
на имена. Перед MySQL
5.5 они были созданы как ориентированные на многопотоковое исполнение (повторно используемые) библиотеки
отдельно от не -_r
библиотеки. С 5.5, обе библиотеки являются тем же самым и _r
имена являются символьными ссылками на соответствие не -_r
имена. Нет никакой потребности использовать _r
библиотеки. Например, если Вы
используете mysql_config, чтобы получить флаги компоновщика, можно
использовать mysql_config - освобождает во всех случаях, даже для
поточных клиентов. Нет никакой потребности использовать mysql_config - libs_r.