» » » Нейл Мэтью - Основы программирования в Linux


Авторские права

Нейл Мэтью - Основы программирования в Linux

Здесь можно скачать бесплатно "Нейл Мэтью - Основы программирования в Linux" в формате fb2, epub, txt, doc, pdf. Жанр: Программное обеспечение, издательство «БХВ-Петербург», год 2009. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Нейл Мэтью - Основы программирования в Linux
Рейтинг:
Название:
Основы программирования в Linux
Автор:
Издательство:
«БХВ-Петербург»
Год:
2009
ISBN:
978-5-9775-0289-4
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Основы программирования в Linux"

Описание и краткое содержание "Основы программирования в Linux" читать бесплатно онлайн.



В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым.

Для начинающих Linux-программистов






 password_entry->setEchoMode(QLineEdit::Password);

 grid->addWidget(username_entry, 0, 1, 0);

 grid->addWidget(passwordentry, 1, 1, 0);

 QPushButton* button = new QPushButton("Ok", this, "button");

 grid->addWidget(button, 2, 1, Qt::AlignRight);

 connect (button, SIGNAL(clicked()), this, SLOT(accept()));

}


QString LogonDialog::getUsername() {

 if (username_entry == NULL) return NULL;

 return username_entry->text();

}


QString LogonDialog::getPassword() {

 if (password_entry == NULL) return NULL;

 return password_entry->text();

}

На рис. 17.15 показано, как будет выглядеть диалоговое окно.

Рис. 17.15 

main.cpp

Единственный оставшийся программный код — функция main, которую вы помещаете в отдельный файл main.cpp.

1. В файле main.cpp вы открываете окно LogonDialog и получаете успешную регистрацию из функции database_start. Если регистрация оказалась неудачной, вы выводите окно QMessageBox или при попытке закрыть LogonDialog просите у пользователя подтверждения его выхода.

#include "MainWindow.h"

#include "app_mysql.h"

#include "LogonDialog.h"

#include <kde/kapp.h>

#include <qmessagebox.h>


int main(int argc, char **argv) {

 char username[100];

 char password[100];

 KApplication a(argc, argv, "cdapp");

 LogonDialog *dialog = new LogonDialog();

 while (1) {

  if (dialog->exec() == QDialog::Accepted) {

   strcpy(username, dialog->getUsername());

   strcpy(password, dialog->getPassword());

   if (database_start(username, password)) break;

   QMessageBox::information(0, "Title",

    "Could not Logon: Check username and/or password",

    QMessageBox::Ok);

   continue;

  } else {

   if (QMessageBox:information(0, "Title",

    "Are you sure you want to quit?", QMessageBox::Yes,

    QMessageBox::No) == QMessageBox::Yes) {

    return 0;

   }

  }

 }

 delete dialog;

 MainWindow *window = new MainWindow("Cd App");

 window->resize(600, 400);

 a.setMainWidget(window);

 window->show();

 return a.exec();

}

2. Осталось только написать pro-файл для утилиты qmake. Назовите его cdapp.pro:

TARGET = app

MOC_DIR = moc

OBJECTS_DIR = obj

INCLUDEPATH = /usr/include/kde /usr/include/mysql

QMAKE_LIBDIR_X11 += -/usr/lib

QMAKE_LIBDIR_X11 += /usr/lib/mysql

QMAKE_LIBS_X11 += -lkdeui -lkdecore -lmysqlclient

SOURCES = MainWindow.cpp main.cpp app_mysql.cpp AddCdDialog.cpp LogonDialog.cpp

HEADERS = MainWindow.h app_mysql.h AddCdDialog.h LogonDialog.h

Примечание

Обратите внимание на то, что приведенный программный код позволяет вам немного схитрить, просто переименовав файл app_mysql.c в файл app_mysql.cpp; таким образом, вы сможете использовать его как обычный исходный файл на языке С++. Это устраняет небольшое усложнение, необходимость редактирования связей или компоновки объектного файла на языке С и объектного файла на языке С++,

$ qmake cdapp.pro -о Makefile

$ make

$ ./арр

Если все нормально, вы должны получить работающую базу данных компакт-дисков!

Для того чтобы глубже понять KDE/Qt, можно попробовать реализовать другие функции в интерфейсе MySQL, такие как добавление дорожек в компакт-диски или удаление компакт-дисков. Вам понадобятся диалоговые окна, новые элементы меню и панели инструментов, придется также запрограммировать внутреннюю логику. Сделайте такую попытку!

Резюме 

В этой главе вы научились применять библиотеку графического пользовательского интерфейса Qt и рассмотрели виджеты графической среды KDE в действии. Вы узнали, что Qt — это библиотека на языке С++, применяющая механизм "сигнал/слот" для реализации программирования, управляемого событиями. Вы познакомились с основными виджетами Qt и написали несколько программ-примеров для демонстрации их практического применения. В заключение средствами KDE/Qt реализован графический пользовательский интерфейс вашего приложения для работы с компакт-дисками. 

Глава 18

Стандарты Linux

ОС Linux появилась сначала только как ядро системы. К сожалению, ядро само по себе не очень полезно; программам нужна регистрация, управление файлами, компиляция новых программ и т.д. Для того чтобы сделать систему полезной, в рамках проекта GNU были добавлены разные средства. Они представляли собой клоны похожих программ, имевшихся в UNIX и UNIX-подобных системах того времени. Превращение системы Linux в подобие UNIX-системы установило первые стандарты для Linux, предоставляя программистам на языке С знакомую рабочую среду.

Разные разработчики ОС UNIX (а позднее Linux) вставляли собственные расширения в команды и утилиты, которые включали в состав системы, и структура используемых ими файловых систем тоже слегка отличалась. Все это затрудняло создание приложений, способных выполняться в разных системах. Более того, программист не мог даже полагаться на то, что функциональные возможности системы были реализованы одинаково, или файлы конфигурации хранились в одном и том же месте.

Стало ясно, что для сохранения подобия UNIX-систем нужна стандартизация, и такая работа сейчас ведется.

Со временем не только стандарты двигались вперед, но и ОС Linux с впечатляющей скоростью совершенствовалась сообществом, поддержанным коммерческими организациями, такими как Red Hat и Canonical, и даже разработчиками не-Linux, например, корпорацией IBM. По мере развития Linux наряду с разработкой коллекции компиляторов gcc не только следила за соответствующими стандартами, но и определяла новые стандарты, если существующие оказывались неэффективными. В действительности по мере того, как ОС Linux и связанные с нею программные средства и утилиты становились все более популярными, разработчики UNIX-систем начали вносить изменения в свои продукты, чтобы сделать их более совместимыми с ОС Linux.

В этой заключительной главе мы собираемся рассмотреть стандарты Linux, обращая внимание нате области, о которых вы должны знать для того, чтобы не только писать приложения, работающие в ваших системах Linux после их обновления, но и создавать программный код, который можно будет переносить в другие дистрибутивы Linux, а может быть и в UNIX-подобные системы, обеспечивая, таким образом, совместное использование ваших программ.

В особенности мы коснемся следующих тем:

□ стандарт языка программирования С;

□ стандарты UNIX, в особенности POSIX, разрабатываемые IEEE, и стандарт Single UNIX Specification, разработанный Open Group;

□ разработка Free Standards Group, в особенности Linux Standard Base, в которой определен макет стандартной файловой системы Linux.

Хорошей отправной точкой для знакомства со стандартами, относящимися к ОС Linux, служит стандарт Linux Standard Base (LSB), который можно найти на Web- сайте Linux Foundation по адресу http://www.linux-foundation.org/.

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

Язык программирования С

Язык программирования С — de facto язык программирования ОС Linux, поэтому, для того чтобы писать программы на С для Linux, необходимо немного разобраться в его истоках, узнать, как менялся язык, и, что особенно важно понять, как проверяются программы на соответствие стандартам.

Краткий урок истории

Тем, кто не слишком любит историю, не стоит беспокоиться: эта книга о программировании, а не об истории, поэтому обзор будет очень кратким.

Язык программирования С появился в начале 1970-х годов и был основан отчасти на более раннем языке программирования BCPL и расширениях для языка В. Деннис Ритчи (Dennis М. Ritchie) написал руководство пользователя для языка в 1974 г., и примерно в это же время С был использован как язык программирования для переработки ядра UNIX на компьютерах PDP-11. В 1978 г. Брайан Керниган (Brian W. Kernighan) и Ритчи написали классическое руководство по, языку "The С Programming Language" ("Язык программирования С").

Очень быстро язык приобрел большую популярность, обусловленную, несомненно, отчасти быстрым ростом популярности UNlX-систем, но также и своими возможностями и понятным синтаксисом. Синтаксис языка С продолжал развиваться согласованно, но по мере того, как он изменялся все больше и больше по сравнению с первоначальным описанием, приведенным в книге, становилось ясно, что нужен стандарт, который соответствовал бы современному употреблению и был более строгим.

В 1983 г. ANSI (American National Standards Institute, Американский институт стандартов) основал комитет стандартов X3J11 для разработки четкого и строгого определения языка. Попутно обе организации вносили в язык незначительные изменения, в особенности придавая ему долгожданную способность объявлять типы параметров, но в основном комитет просто вносил ясность и логическое обоснование существующего определения того, что составляло общеупотребительный вариант языка. Окончательный стандарт был опубликован в 1989 г. как ANSI Standard Programming Language С, X3.159-1989 или более кратко C89, иногда именуемый C90. (Этот последний превратился в стандарт ISO/IEC 9899:1990, Programming Languages — С. Оба стандарта формально идентичны.)


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Основы программирования в Linux"

Книги похожие на "Основы программирования в Linux" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Нейл Мэтью

Нейл Мэтью - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Нейл Мэтью - Основы программирования в Linux"

Отзывы читателей о книге "Основы программирования в Linux", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.