До этого момента мы имели дело только с различными утилитами MySQL, работающими с командной строкой: утилитой mysqldump, предназначенной для выборки содержимого базы данных, утилитой mysqladmin, необходимой для выполнения административных задач, и, конечно, клиентом mysql, выполняющим SQL-запросы. Все эти программы быстро работают, предназначены для эффективного выполнения специализированных задач, написаны на языке программирования (ЯП) С и работают по модели клиент/сервер.
Как упоминалось в предыдущей главе, MySQL функционирует с интерфейсом C API, позволяющим просто и быстро взаимодействовать с сервером базы данных с помощью языка программирования C. Этот API-интерфейс упакован в библиотеку, которой оснащены все стандартные дистрибутивы и которая используется всеми утилитами, работающими с командной строкой и поставляемыми в комплекте с MySQL (включая и те, о которых речь шла выше). На основании изложенного можно сделать вывод, что API-интерфейс для ЯП С является наиболее оснащенным среди всех API-интерфейсов. И действительно, он является базовым для всех других интерфейсов MySQL (за исключением API-интерфейса для Java).
Эта глава содержит подробное обсуждение C API-интерфейса, в ней продемонстрировано создание клиентских приложений MySQL с использованием программ и структур, предоставляемых этим API-интерфейсом.
Язык программирования
Для более полной демонстрации основных идей данной главы начнем с краткого ознакомления с историей появления и развития ЯП C, а также инструментария, необходимого для того, чтобы начать работу с MySQL и C API-интерфейсом.
История и развитие
Большинство поклонников языка C считают, что мир берет свое начало со строчки, написанной на этом языке программирования. Но в действительности, конечно, все значительно прозаичнее. Язык программирования C был разработан в Лабораториях Белла (Bell Labs) в 70-х годах прошлого века Денисом Ритчи (Dennis Ritchie) и Кеннетом Томпсоном (Kenneth Thompson). ЯП C разрабатывался как высокоуровневый язык для операционной системы (ОС) UNIX и многое позаимствовал из разработанного в 1967 году и во многом аналогичного ЯП BCPL, хотя в нем не была предусмотрена работа с типами. В конце 70-х годов прошлого века Брайан Керниган (Brian Kernighan) и Денис Ритчи опубликовали формальное описание этого языка и предоставили его вниманию широкой публики за пределами Лабораторий Белла.
Находясь под впечатлением от возможностей этого языка, компьютерные компании начали поддерживать использование языка и компиляторов C для различных архитектур и ОС, что обусловило его выход в широкий свет. Обратив внимание на широкое распространение C в 1983 году, институт ANSI создал специальный комитет по разработке формального стандарта ЯП C. Сегодня, несмотря на то, что все компиляторы C по-прежнему имеют свои специфические черты, большинство из них генерируют код, удовлетворяющий стандарту ANSI по языку C.
Спустя более 30 лет после создания ЯП C, язык, созданный Ритчи и Томпсоном, по-прежнему не потерял своих позиций, а компиляторы C уже разработаны практически для всех существующих на сегодняшний день ОС. Своим успехом этот ЯП обязан в первую очередь ОС UNIX. Сейчас фактически все клоны ОС UNIX в стандартной поставке функционируют с компилятором C, и при этом большинство полезных и фундаментальных команд UNIX написаны на ЯП C. Так как язык является компактным, хорошо описанным и достаточно гибким для поддержки широкого диапазона приложений, его популярность продолжает расти. Сегодня ЯП C используется для создания приложений, как инструмент обучения азам программирования и в качестве любимого средства разработки программистов, работающих над проектами, стоимость которых составляет миллиарды долларов.
Инсталляция
Для компиляции исходных текстов C в исполняемые программы, необходимо иметь компилятор C. При работе под управлением ОС UNIX, рекомендуется использовать компилятор C GNU Compiler Collection (GCC), включающий поддержку C, C++ и Java. Его можно получить бесплатно как для платформы ОС Windows, так и для ОС UNIX. Исходные тексты и откомпилированные двоичные коды вместе с инструкциями по инсталляции можно получить по адресу http://gcc.gnu.org/. В примерах, приведенных в этой главе, используется GCC 3.3 под ОС Linux, хотя его можно использовать на любой удобной для вас платформе.
Детальное описание инсталляции GCC выходит за рамки этой главы. Новичкам потребуется время на изучение инструкций по инсталляции и функционированию, GCC имеющихся в загружаемых архивах, а также на Web-узле, - это поможет вам развернуть работающую среду разработки GCC. Все интересующие справки можно получить по адресу http://gcc.gnu.org/onlinedocs/ и FAQ по адресу http://gcc.gnu.org/ faq.html.
Что касается ОС UNIX, то существует быстрый способ проверить установку GCC в системе с помощью команды UNIX which. Если GCC установлен, эта команда возвращает полный путь к программе gcc.
Листинг 19.1.
[user@host]$ which gcc /usr/bin/gcc
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. MySQL и язык С
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Переносимость | Все о MySQL. MySQL and C |