// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Краткий учебный курс по началу работы с проектами C/C++
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Краткий учебный курс по началу работы с проектами C/C++ - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Краткий учебный курс по началу работы с проектами C/C++

Составитель: _Энн Райс (Ann Rice)_, редактор: _Сьюзан Морган (Susan Morgan)_ 
_Март 2014 г._ [Номер версии: V8.0-1]

В этом кратком руководстве описываются основные действия по созданию и настройке проектов C или C++ в среде IDE NetBeans.


image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2 и более поздним версиям"]



== Требования

*Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.*

|===
|Программное обеспечение или материал |Требуемая версия 

|IDE NetBeans |link:https://netbeans.org/downloads/index.html[+версия 7.2 и более поздние с подключаемым модулем NetBeans C/C+++] 

|Комплект для разработчика на языке Java (JDK) |link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+версия 6, 7 или 8+] 

|Компиляторы C и C++,  ``make`` ,  ``gdb``  |link:../../../community/releases/80/cpp-setup-instructions.html[+Настройка среды IDE NetBeans для языков C/C++/Фортран+] 
|===


Информацию о загрузке и установке требуемого программного обеспечения можно найти в разделах link:../../../community/releases/80/install.html[+Инструкции по установке среды IDE NetBeans+] и link:../../../community/releases/80/cpp-setup-instructions.html[+Настройка среды IDE NetBeans для C/C++/Fortran+]
.

*Примеры проектов*

Если вы хотите просто поэкспериментировать с тестовыми проектами в IDE , выберите Файл > Создать проект, затем откройте категорию 'Образцы' и подкатегорию 'C/C++'. В среде IDE представлено несколько примеров проектов на языке C и C++, которые помогут ознакомиться с функциями среды.


== Создание проектов на языках C и C++

Поддержка C/C++ в среде NetBeans позволяет создавать проекты приложений и библиотек C и C++ с автоматически созданными файлами make, а также проекты C и C++ с существующими исходными кодами.

Разработчик может осуществлять сборку, выполнение и отладку проекта на локальном узле (в системе, из которой запускается среда IDE) или на удаленном узле под управлением операционной системы UNIX®. Информацию о выборе набора средств для проекта, а также об определении и использовании удаленных узлов см. в разделе link:development-environment.html[+Определение среды разработки проекта C/C++ +].

Среда IDE управляет всеми параметрами сборки, запуска и отладки приложения проектов "Приложение на C/C++", "Динамическая библиотека" или "Статическая библиотека". Параметры проекта указываются при создании проекта, а также в диалоговом окне "Свойства проекта". Среда IDE создает файл make, в котором хранятся все настройки.


=== Создание проекта приложения на языке C/C++

1. Откройте мастер "Новый проект" с помощью команды FIle ("Файл") > New Project ("Новый проект").
2. Выберите категорию "C/C++" в мастере.
3. Мастер предлагает возможность выбора типа нового проекта. Выберите параметр "Приложение на C/C++" и нажмите кнопку "Далее". 
image::images/creating_application.png[]

[start=4]
. Создайте в мастере новый проект "Приложение C/C++", используя параметры по умолчанию. Название проекта и его расположение выбираются разработчиком.

[start=5]
. Для выхода из мастера нажмите кнопку "Готово".

Проект создается с логическими папками. Логическая папка не является каталогом. Она представляет собой способ упорядочения файлов и не отражает физическое расположение файлов на диске. Добавленные в логические папки файлы автоматически становятся частью проекта и компилируются при сборке проекта.

Файлы, добавленные в папку 'Важные файлы', не являются частью проекта и не компилируются при сборке проекта. Эти файлы являются справочной информацией и могут быть полезны разработчику, когда имеется проект с существующим файлом make.


=== Переключение логического и физического представления проекта

Проект имеет логическое и физическое представление. Разработчик может переключаться между логическим и физическим представлением проекта.

1. Перейдите на вкладку "Файлы". В этом окне содержится физическое представление проекта. В нем отображается расположение файлов и папок на диске. 
image::images/files_tab.png[]

[start=2]
. Перейдите на вкладку "Проекты". В этом окне содержится логическое представление проекта. 
image::images/projects_tab.png[]

Большинство команд, выполняемых в проекте, доступны на вкладке "Проекты", а не на вкладке "Файлы".


=== Добавление файлов и папок в проект

Разработчик может добавлять в проект логические папки.

1. Щелкните узел проекта "Приложение" правой кнопкой мыши и выберите команду "Новая логическая папка". В проект будет добавлена новая логическая папка.
2. Щелкните добавленную логическую папку правой кнопкой мыши и выберите команду "Переименовать". Введите имя для новой папки.

В существующую папку можно добавлять файлы и папки. Логические папки могут быть вложенными.


=== Добавление новых файлов в проект

В проект также можно добавить новые файлы.

1. Щелкните правой кнопкой мыши папку "Исходные файлы" и выберите команду "Создать" > "Исходный файл на языке C++".
2. Перейдите на страницу "Имя и местоположение" диалогового окна "Новый файл" и введите  ``newfile``  в поле "Имя файла". 

image::images/adding_files.png[] 


[start=3]
. Нажмите кнопку 'Готово'.

Файл  ``newfile.cpp``  создается на диске в каталоге, указанном в мастере, а также добавляется в папку "Исходные файлы". В эту папку можно добавлять любые файлы, а не только файлы исходного кода.


=== Добавление дополнительных новых файлов в проект

1. Щелкните папку "Файлы заголовка" правой кнопкой мыши и выберите команду "Создать" > "Файл заголовка на языке C++".
2. Перейдите на страницу "Имя и местоположение" диалогового окна "Новый файл" и введите  ``newfile``  в поле "Имя файла".
3. Нажмите кнопку 'Готово'.

Файл  ``newfile.h``  создается на диске в каталоге, указанном в мастере, а также добавляется в папку "Исходные файлы".


=== Добавление существующих файлов в проект

Существующие файлы добавляются в проект двумя способами:

* Правой кнопкой щелкните папку "Исходные файлы" и выберите команду "Добавить существующий элемент". Чтобы установить ссылку на существующий файл на диске, откройте диалоговое окно "Выбрать элемент" и добавьте файл в проект.
* Правой кнопкой щелкните папку "Исходные файлы" и выберите команду "Добавить существующие элементы из папок". Используйте диалоговое окно "Добавить файлы" для добавления папок, содержащих существующие файлы.

Не используйте команду меню "Новый" для добавления существующих элементов. На панели "Имя и местоположение" отображаются сведения о существовании файла.


=== Установка свойств проекта

После создания проекта у него появляются две конфигурации: 'Отладка' и 'Выпуск'. Настройка – это набор параметров, использованных для проекта. При выборе настройки несколько параметров переключаются одновременно. При выборе настройки "Отладка" создается версия приложения, которая содержит сведения об отладке. При выборе настройки "Выпуск" создается оптимизированная версия.

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

* Правой кнопкой мыши щелкните узел проекта  ``CppApplication_1``  и выберите команду "Свойства". 
image::images/project_properties.png[]

Разработчик может изменять параметры средства сборки по умолчанию, параметры компилятора и другие параметры настройки в диалоговом окне "Свойства проекта". Для этого следует выбрать узел на левой панели и изменить свойства на правой панели. Выберите несколько узлов и значений свойств и обратите внимание на то, какие свойства можно установить. При установке свойств категории "Общие" они устанавливаются для всех настроек проекта. Свойства 'Сборка', 'Запуск' или 'Отладка' устанавливаются для текущей выбранной конфигурации.


=== Управление настройками

Свойства, измененные в окне "Свойства проекта", хранятся в файле make для текущей настройки. Разработчик может изменять настройки по умолчанию или создавать новые. Для создания новой настройки выполните следующие действия.

1. Нажмите кнопку "Управление настройками" в диалоговом окне "Свойства проекта".
2. В диалоговом окне "Настройки" выберите настройку, которая больше всего совпадает с требуемой настройкой. В этом случае выберите настройку "Выпуск" и нажмите кнопку "Дублировать". Затем нажмите кнопку "Переименовать".
3. В диалоговом окне "Переименовать" переименуйте настройку в PerformanceRelease. Нажмите кнопку "ОК".
4. Нажмите кнопку "ОК" в диалоговом окне "Настройки".
5. На левой панели выберите узел "Компилятор C".
6. В диалоговом окне "Свойства проекта" обратите внимание на то, что в раскрывающемся списке "Настройка" выбрана настройка "PerformanceRelease".
7. В окне свойств на правой панели измените значение "Режим разработки" со значения "Release" на значение "PerformanceRelease". Нажмите кнопку "ОК".

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


=== Установка свойств файлов исходного кода

При установке свойств проекта C или C++ они действуют для всех файлов проекта. Также можно установить некоторые свойства для отдельных файлов.

1. Щелкните правой кнопкой мыши исходный файл  ``newfile.cpp``  на вкладке "Проекты" и выберите команду "Свойства".
2. Щелкните категорию "Общее" и обратите внимание, что существует возможность указания различных компиляторов или других средств для сборки этого файла. Также можно использовать флажок для исключения файла из сборки выбранной в настоящий момент настройки проекта.
3. Щелкните категорию "Компилятор C++" и убедитесь, что существует возможность переопределения параметров компилятора и других свойств этого файла.
4. Отмените работу с диалоговым окном "Свойства файла".


=== Сборка и пересборка проекта

Для сборки проекта выполните следующие действия.

1. Правой кнопкой мыши щелкните узел проекта и выберите команду "Сборка", после чего будет выполнена сборка проекта. Результат сборки выводится в окне "Вывод"
2. Замените настройку "Отладка" на настройку "PerformanceRelease" в раскрывающемся списке настроек на главной панели инструментов. Проект будет собран с использованием настройки PerformanceRelease.
3. Правой кнопкой мыши щелкните узел проекта и выберите команду "Сборка", после чего будет выполнена сборка проекта. Результат сборки выводится в окне "Вывод"

Для повторной сборки проекта:

* Щелкните узел проекта правой кнопкой мыши и выберите 'Очистить и собрать', чтобы выполнить полную повторную сборку проекта после удаления результатов предыдущей сборки.
* Щелкните узел проекта правой кнопкой мыши и выберите 'Собрать', чтобы выполнить инкрементную сборку. Результаты предыдущей сборки сохраняются, если их исходные файлы не изменены.

Сборку, очистку или очистку со сборкой проекта можно выполнять с помощью команд в меню 'Выполнить' или с помощью кнопок на панели инструментов. Файлы объектов и исполняемые файлы разных настроек также хранятся отдельно, что предотвращает смешение файлов различных настроек.


=== Компиляция отдельного файла

Для компиляции отдельного файла исходного кода выполните следующие действия.

* Правой кнопкой мыши щелкните файл  ``main.cpp``  и выберите команду "Компилировать файл". Будет выполнена компиляция только этого файла.

Компиляция отдельных файлов не поддерживается для типа проекта "Проект на C/C++ с существующими исходными файлами".


== Запуск проекта

Для демонстрации процесса запуска проекта будет использоваться пример проекта  ``Arguments``  среды IDE. Программа  ``Arguments``  выводит аргументы командной строки. Перед запуском программы следует установить некоторые аргументы в текущей настройке. Затем программа будет запущена.

Чтобы создать проект  ``Arguments`` , установите несколько аргументов, а затем запустите проект:

1. Выберите команду "Файл" > "Новый проект".
2. В мастере проектов разверните категорию "Примеры".
3. Выберите подкатегорию "C/C++", а затем выберите проект  ``Arguments`` . Нажмите кнопку "Далее", а затем нажмите кнопку "Готово".
4. Правой кнопкой мыши щелкните узел проекта  ``Arguments_1``  и выберите команду "Сборка". Будет выполнена сборка проекта.
5. Правой кнопкой мыши щелкните узел  ``Arguments_1``  и выберите команду "Свойства".
6. В диалоговом окне "Свойства проекта" выберите узел "Запуск".
7. В текстовом поле "Выполнить команду" введите текст "1111 2222 3333". Нажмите кнопку "ОК". 
image::images/setting_arguments.png[]

[start=8]
. Щелкните правой кнопкой мыши узел проекта и выберите "Выполнить". Приложение будет выполнено. Аргументы отображаются в окне вывода.


== Создание проекта C/C++ с существующим исходным кодом

При создании проекта C/C++ с существующим исходным кодом среда IDE использует существующий файл make для получения указаний по компиляции и запуску приложения.

В этом упражнении выполняется загрузка и установка исходных файлов для библиотеки Loki с открытым исходным кодом на C++. Для Loki требуется библиотека Pthreads для выполнения сборки. Она доступна по умолчанию в Linux, Solaris и Mac OS X. Если вы используете Windows, необходимо загрузить библиотеку Pthreads до начала создания проекта с использованием исходных файлов Loki.


=== Создание проекта с существующим исходным кодом

1. При выполнении среды IDE в ОС Windows загрузите библиотеку Pthreads со страницы link:http://sourceware.org/pthreads-win32[+  ``http://sourceware.org/pthreads-win32`` +].

Для удобства можно воспользоваться link:ftp://sourceware.org/pub/pthreads-win32/pthreads-2005-03-08.exe[+прямой ссылкой+] на средство установки pthreads-2005-03-08.exe.

Распакуйте библиотеку pthreads в пользовательском каталоге Windows.


[start=2]
. Загрузите библиотеку  ``loki-0.1.7``  с сайта link:http://sourceforge.net/projects/loki-lib[+  ``http://sourceforge.net/projects/loki-lib`` +].

[start=3]
. Разархивируйте каталог  ``loki-0.1.7``  в выбранный каталог.

[start=4]
. Откройте мастер "Новый проект" с помощью команды FIle ("Файл") > New Project ("Новый проект").

[start=5]
. Выберите категорию "C/C++".

[start=6]
. Выберите элемент "Проект C/C++ с существующими исходными кодами" и нажмите кнопку "Далее".

[start=7]
. На странице "Выбрать режим" нажмите кнопку "Обзор". В диалоговом окне "Выбрать папку проекта" перейдите в каталог, в котором сохранен каталог  ``loki-0.1.7`` . Выберите каталог  ``loki-0.1.7`` . Нажмите кнопку "Выбрать". 

image::images/existing_sources_project1.png[] 


[start=8]
. Используйте режим "Режим настройки" по умолчанию – значение "Автоматически". Нажмите кнопку 'Готово'.

Проект создается и открывается на вкладке "Проекты", а среда IDE автоматически запускает действия "Очистка"и "Сборка", указанные в существующем файле Make. Проект также автоматически настраивается для вспомогательных функций кода.

image::images/existing_sources_project2.png[]


=== Создание проектов на языках C и C++ с помощью двоичного файла

Поддерживается создание проекта на языках C/C++ с помощью существующего двоичного файла.

1. Выберите команду "Файл" > "Новый проект".
2. Выберите категорию "C/C++".
3. Выберите элемент "Проект C/C++ на основе двоичного файла" и нажмите кнопку "Далее".
4. 
На странице 'Выбор двоичного файла' мастера создания проектов нажмите кнопку 'Обзор'. В диалоговом окне 'Выбор двочиного файла' перейдите к двоичному файлу, с помощью которого вы хотите создать проект.

Корневой каталог для исходных файлов, с помощью которых был создан двоичный файл, заполняется автоматически. По умолчанию в проект включаются только исходные файлы, с помощью которых был создан двоичный файл. По умолчанию в проект включаются зависимости. Общие библиотеки, необходимые для проекта. указываются автоматически.

image::images/binary_project.png[]

[start=5]
. Нажмите кнопку "Далее".

[start=6]
. На странице 'Имя и местоположение' можно выбрать имя и местоположение проекта Нажмите кнопку 'Готово'.


=== Сборка и пересборка проекта

Сборка проекта

* Правой кнопкой мыши щелкните узел проекта и выберите команду "Сборка".

Для пересборки проекта выполните следующие действия.

* Правой кнопкой мыши щелкните узел проекта и выберите команду "Очистка и сборка".


== [[Следующие действия]] 

С учебным курсом по использованию расширенных функций перехода и изменения в среде IDE NetBeans для просмотра и правки исходного кода можно ознакомиться в разделе link:navigating-editing.html[+Правка исходных файлов C/C++ и переход по ним+].

Дополнительные статьи о разработке с помощью C/C++/Fortran в IDE NetBeans см. в разделе link:https://netbeans.org/kb/trails/cnd.html[+Учебные карты C/C+++].

link:mailto:users@cnd.netbeans.org?subject=Feedback:%20C/C++%20Projects%20Quick%20Start%20-%20NetBeans%20IDE%207.4%20Tutorial[+Отправить отзыв по этому учебному курсу+]
