C++. Сборник рецептов - [8]
• стандартная библиотека STLPort;
• хороший визуальный отладчик;
• менеджер проектов с ограниченной способностью управлять зависимостями проектов.
Я описываю C++Builder, потому что он широко используется и у него есть большое сообщество преданных пользователей.
C++Builder не следует путать с C++BuilderX — кросс-платформенной средой разработки, выпущенной Borland в 2003 году. Хотя C++BuilderX является полезным инструментом разработки, он не имел коммерческого успеха и неизвестно, будет ли Borland выпускать его новые версии.
Bloodshed Software Dev-C++ — это бесплатная среда разработки C++ для Windows, использующая порт MinGW GCC, описанный в рецепте 1.1. Он содержит вполне удобный текстовый редактор и визуальный интерфейс для отладчика GNU.
Dev-C++ предлагает неполный графический интерфейс для многочисленных опций командной строки GCC: во многих случаях пользователи должны настраивать свои проекты, вводя в текстовые поля опции командной строки. Кроме того, его менеджер проектов может управлять только одним проектом, а визуальный отладчик ненадежен. Несмотря на эти ограничения, Dev-C++ поддерживается большим сообществом пользователей, включая студентов многих университетов. Это хорошая среда для того, кто хочет изучить С++, но не имеет никаких инструментов для разработки на С++.
Co времен, когда в 1978 году Брайан Керниган (Brian Kernighan) и Деннис Ритчи (Dennis Ritchie) опубликовали книгу The С Programming Language (Язык программирования С), стало традицией начинать изучение нового языка программирования с написания, компиляции и запуска небольшой программки, которая печатает в консоли «Hello, World!» («Привет, мир!»). Так как эта глава описывает статические и динамические библиотеки, а также исполняемые файлы, мне потребуется несколько более сложный пример.
Примеры 1.1, 1.2 и 1.3 представляют исходный код приложения hellobeatles, которое выводит текст
>John, Paul, George, and Ringo
на консоль. Это приложение можно написать в виде единого исходного файла, но я разбил его на три модуля: статическую библиотеку libjohnpaul, динамическую библиотеку libgeorgeringo и исполняемый файл hellobeatles. Более того, хотя каждая из этих библиотек могла бы быть легко реализована как один заголовочный файл и один файл .cpp, я, чтобы проиллюстрировать компиляцию и компоновку проектов, содержащих более одного исходного файла, разбил реализацию на несколько исходных файлов.
Исходный код libjohnpaul представлен в примере 1.1. Открытый интерфейс libjohnpaul состоит из одной функции >johnpaul(), объявленной в заголовочном файле johnpaul.hpp. Функция >johnpaul() отвечает за печать:
>John, Paul,
на консоль. Реализация >johnpaul() разбита на два. исходных файла — john.cpp и paul.cpp, каждый из которых отвечает за печать одного имени.
Пример 1.1. Исходный код libjohnpaul
johnpaul/john.hpp
>#ifndef JOHN_HPP_INCLUDED
>#define JOHN_HPP_INCLUDED
>void john(); // Печатает "John, "
>#endif // JOHN _HPP_INCLUDED
johnpaul/john.cpp
>#include
>#include "john.hpp"
>void john() {
> std::cout << "John, ";
>}
johnpaul/paul.hpp
>#ifndef PAUL_HPP_INCLUDED
>#define PAUL_HPP_INCLUDED
>void paul(); // Печатает " Paul, "
>#endif // PAUL_HPP_INCLUDED
johnpaul/paul.cpp
>#include
>#include "paul.hpp"
>void paul() {
> std::cout << "Paul, ";
>}
johnpaul/johnpaul.hpp
>#ifndef JOHNPAUL_HPP_INCLUDED
>#define JOHNPAUL_HPP_INCLUDED
>void johnpaul(); // Печатает "John, Paul, "
>#endif // JOHNPAUL_HPP_INCLUDED
johnpaul/johnpaul.cpp
>#include "john.hpp"
>#include "paul.hpp"
>#include "johnpaul.hpp"
>void johnpaul() {
> john();
> paul();
>}
Исходный код libgeorgeringo представлен в примере 1.2. Открытый интерфейс libgeorgeringo состоит из одной функции >georgeringo(), объявленной в заголовочном файле georgeringo.hpp. Как вы могли догадаться, функция >georgeringo() отвечает за печать:
>George, and Ringo
на консоль. И снова реализация >georgeringo() разделена на два исходных файла — george.cpp и ringo.cpp.
Пример 1.2. Исходный код libgeorgeringo
georgeringo/george.hpp
>#ifndef GEORGE_HPP_INCLUDED
>#define GEORGE_HPP_INCLUDED
>void george(); // Печатает "George, "
>#endif // GEORGE_HPP_INCLUDED
georgeringo/george.cpp
>#include
>#include "george.hpp"
>void george()
> std::cout << "George, ";
>}
georgeringo/ringo.hpp
>#ifndef RINGO_HPP_INCLUDED
>#define RINGO_HPP_INCLUDED
>void ringo(); // Печатает "and Ringo\n"
>#endif // RINGO_HPP_INCLUDED
georgeringo/ringo.cpp
>#include
>#include "ringo.hpp"
>void ringo() {
> std::cout << "and Ringo\n";
>}
georgeringo/georgeringo.hpp
>#ifndef GEORGERINGO_HPP_INCLUDED
>#define GEORGERINGO_HPP_INCLUDED
>// определите GEORGERINGO_DLL при сборке libgeorgeringo.dll
>#if defined(_WIN32) && !defined(__GNUC__)
>#ifdef GEORGERINGO_DLL
># define GEORGERINGO_DECL __declspec(dllexport)
>#else
># define GEORGERINGO_DECL __declspec(dllimport)
В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В этой книге содержится описание базовых принципов функционирования платформы .NET, системы типов .NET и различных инструментальных средств разработки, используемых при создании приложений .NET. Представлены базовые возможности языка программирования C# 2005, включая новые синтаксические конструкции, появившиеся с выходом .NET 2.0, а также синтаксис и семантика языка CIL. В книге рассматривается формат сборок .NET, библиотеки базовых классов .NET. файловый ввод-вывод, возможности удаленного доступа, конструкция приложений Windows Forms, доступ к базам данных с помощью ADO.NET, создание Web-приложений ASP.NET и Web-служб XML.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИИнформационная технологияРУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯInformation technology. Guidelines for the management of software documentationИздание официальноеДата введения 1994-07-01ГОССТАНДАРТ РОССИИ Москва© Издательство стандартов, 1994.
Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы.