corner imagecorner image
IDEPlatformPluginsDocs & SupportCommunityPartners

Удаленная разработка на языке C/C++ - учебный курс по среде IDE NetBeans 6.9

Содержание

Содержимое этой страницы относится к среде IDE NetBeans 6.9
Введение
Ключевые понятия удаленной разработки
Настройка системы
Настройка среды IDE
Создание локального проекта на удаленном узле
Запуск сеанса работы с терминалом на удаленном узле
Рекомендации по удаленной разработке

Требования

Для работы с этим учебным курсом требуется программное обеспечение, указанное ниже.

Программное обеспечение Требуемая версия
Среда IDE NetBeans (включая поддержку C/C++) версия 6.9
Комплект для разработчика на языке Java (JDK) версия 6
Компиляторы C и C++, make, gdb
на удаленной системе Solaris или Linux
Наборы средств C/C++, протестированные со средой IDE NetBeans

Обратитесь к разделам Указания по установке среды IDE NetBeans 6.9 и Настройка среды IDE NetBeans для C/C++/Фортран
для получения информации о загрузке и установке требуемого программного обеспечения.

Введение

В этом учебном руководстве показано использование функции удаленной разработки проектов C/C++. Вы хотите разрабатывать приложения SolarisTM или Linux на ноутбуке с ОС Windows 7 или Mac OS X? Вы хотите тестировать приложение в других операционных системах прямо в среде IDE? Вы хотите компилировать крупные приложения на быстром многоядерном сервере, а не на обычной рабочей станции? Все это возможно с помощью функции удаленной разработки среды IDE NetBeans 6.9.

Ознакомьтесь с этим учебным руководством, чтобы получить сведения об использовании этой функции.

Ключевые понятия удаленной разработки

Удаленная разработка осуществляется следующим образом:
Запустите среду IDE NetBeans на клиентской системе. Это позволит создавать проекты, редактировать файлы и использовать вспомогательные функции ввода кода таким же образом, как и для локальных проектов. При этом в ходе построения, выполнения или отладки проекта процесс выполняется на удаленном сервере, а входные и выходные данные передаются в клиентскую систему. В идеальном случае после настройки удаленного узла разработчик не замечает разницы между рабочим процессом локальной и удаленной разработки.

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

  • Локальная клиентская система и удаленная система должны иметь доступ к файлам проекта через ресурсы с совместным доступом или при помощи протокола безопасного интерпретатора команд (ssh).
  • Клиент должен обладать возможностью подключения к удаленной системе через безопасный интерпретатор команд (ssh), даже если файлы проекта находятся в папках совместного доступа.
  • В удаленной системе должен быть реализован доступ к поддерживаемому набору средств.
  • В удаленной системе должны присутствовать системные библиотеки, необходимые для активации помощника при работе с кодом в проекте.

Все эти требования описаны ниже.

Совместное использование исходного кода

Клиентская система и удаленный сервер должны иметь сведения о файлах исходного кода. Файлы исходного кода могут находиться в каталоге с совместным доступом или могут быть безопасным образом скопированы средой IDE из локальной системы в удаленную. В разделе Настройка системы приведены дополнительные сведения о способах настройки папок совместного доступа в различных системах.

Средства связи

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

Наборы средств

Поддерживаемый набор средств (набор компиляторов GNU, либо Sun Studio или Oracle Solaris Studio) должен быть доступен в среде IDE. Исполняемые файлы средств должны находиться в пути учетной записи пользователя, используемой для подключения к удаленному узлу, для быстрого доступа среды IDE к этим средствам. В особенности это касается средств, установленных в местоположениях, отличных от местоположений по умолчанию.

Вспомогательные функции

Для корректной поддержки функций редактора (например, автозавершения кода и семантического выделения, окна классов и др.) необходимо использовать проект в корректно настроенной среде, т.е. среда должна содержать системные файлы include, определения макроса, платформу и пр. Эти данные поступают с удаленного сервера и хранятся локально в клиентской системе, поэтому при локальном изменении проекта помощник при работе с кодом будет активен, даже если проект настроен для работы с удаленным узлом разработки.

Настройка системы

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

Протокол SSH

Сервер SSH обычно содержится в операционных системах Linux и Solaris и по умолчанию запускается в большинстве случаев. Если сервер не запущен, то для получения сведений об установке и управлении SSH обратитесь к статье http://en.wikipedia.org/wiki/Secure_Shell

Среда IDE предоставляет собственный клиент ssh, так что нет необходимости устанавливать клиент ssh на локальном компьютере.

Необходимо активировать соединение SSH между клиентской и серверной системами, что, как правило, означает наличие на сервере открытого порта 22. Если порт 22 отключен, то вам может понадобиться доступ с правами пользователя root (администратора) или помощь администратора системы.

Между системами должен быть активирован SSH, даже если параметр "Безопасная смарт-копия" для переноса файлов проекта на удаленный сервер не используется.

Совместное использование исходного кода

Если совместный доступ к файлам между вашей системой Windows и удаленным узлом для других пользователей не настроен, рекомендуется использовать параметр "Безопасная смарт-копия" вместо совместного доступа к файлам.

Для конфигурации "Windows-UNIX®" существует два способа совместного доступа к ресурсам:

  • Сервер Samba в системе UNIX
  • Пакет служб Windows для UNIX (SFU), установленный в системе Windows

Упорядочивание исходного кода с помощью сервера Samba

Сервер Samba позволяет пользователю Windows отображать папки NFS как сетевые диски Windows. Пакет Samba входит в состав большинства дистрибутивов операционных систем Linux и Solaris. Если он не входит в дистрибутив, то его можно загрузить на веб-сайте www.samba.org

При наличии доступа к серверу с правами пользователя root (администратора) сервер Samba можно настроить самостоятельно при помощи указаний, приведенных в документах ниже. В противном случае для этого необходимо связаться с администратором системы.

После запуска сервера Samba папки сервера UNIX можно отобразить так же, как и папки Windows.

Службы Windows для UNIX (SFU)

Другой возможностью являются "Службы Windows для UNIX" - набор средств, предоставляемый компанией Майкрософт для доступа к файловым системам NFS из Windows.
Эти службы можно загрузить из Центра загрузки Майкрософт, а также просмотреть документацию на странице служб Windows для Unix.

Пакет SFU недоступен пользователям Windows Vista или Windows 7. Версии Windows 7 Корпоративная и Максимальная содержат компоненты служб для Unix с именами "Подсистема для приложений на основе UNIX" (SUA) и "Клиент для NFS v 3". Дополнительные сведения приведены в статье http://en.wikipedia.org/wiki/Microsoft_Windows_Services_for_UNIX

Настройка Mac OS X

Система Mac OS X поддерживает подключение к серверам Samba. Кроме того, система Mac OS X может монтировать совместно используемые системы NFS сервера.

Можно использовать команду "Средство поиска" > "Переход" > "Подключиться к серверу" и ввести адрес сервера.

Для подключения к серверам SMB/CIFS (Windows) и папкам совместного доступа введите адрес сервера в одной из следующих форм:

smb://DNSname/sharename
smb://IPaddress/sharename

Будет выведен запрос на ввод имени пользователя и пароля для папки совместного доступа. Дополнительные сведения приведены в разделе Подключение к совместному использованию файлов Windows (SMB) в базе знаний Apple (на английском языке).

Для подключения к серверу NFS введите имя сервера и путь к папке совместного доступа NFS в одной из следующих форм:

nfs://servername/path/to/share/
nfs://IPaddress/path/to/share

Дополнительные сведения приведены в разделе Использование средства поиска для монтирования экспорта NFS в базе данных Apple.

Запрос имени пользователя и пароля не выводится, однако выполняется проверка подлинности уникального идентификатора Mac. Уникальный идентификатор (UID) является уникальным целым числом, присваиваемым имени пользователя в ОС типа Unix, например Mac OS X, Solaris и Linux. Для использования NFS уникальный идентификатор Mac должен совпадать с уникальным идентификатором учетной записи на сервере.

Конфигурация "UNIX-UNIX"

Для совместного доступа к файлам между системами Solaris или Linux не требуется специальной настройки. В одной из систем должна находиться папка с возможностью совместного доступа. Возможно также использование домашнего каталога, если он смонтирован на сетевом файловом сервере и доступен из обеих систем.

Отображение пути

При использовании модели с ресурсами совместного доступа может возникнуть необходимость сопоставления расположения исходного кода на локальном узле с путем, используемым на удаленном узле.

Например, рассмотрим следующую конфигурацию:

  • Сервер Solaris solserver с папкой совместного доступа /export/pub
  • Рабочая станция под управлением Windows XP с установленными службами SFU и расположением \\solserver\export\pub, смонтированным в качестве диска P:
  • Файлы исходного кода проекта расположены на сервере solserver в папке /export/pub/myproject

В этом случае с точки зрения сервера файлы исходного кода расположены в каталоге /export/pub/myproject. В то же время с точки зрения клиента файлы исходного кода расположены в каталоге P:\myproject. Таким образом, следует уведомить среду IDE о том, что эти пути сопоставлены:

/export/pub -> P:\

При создании ресурса совместного доступа для файлов исходного кода перед настройкой удаленного узла в среде IDE NetBeans среда IDE в большинстве случаев автоматически определит требуемые сопоставления пути.

Настройка среды IDE

В следующем примере клиентский узел является рабочей станцией под управлением Windows Vista. Удаленный узел с именем b20 представляет собой сервер под управлением ОС Solaris.

  1. Откройте окно "Службы", выбрав меню "Окно" > "Службы".
  2. Щелкните правой кнопкой мыши узел "Узлы разработки C/C++" и выберите команду "Добавить новый узел".
    Рисунок, показывающий процесс добавления нового узла для удаленной разработки.
    В диалоговом окне узла "Новый удаленный узел разработки" среда IDE выполняет обнаружение локальных узлов сети. Имена узлов добавляются в таблицу в диалоговом окне и помечаются надписью "Доступно", если на них выполняется сервер SSH.
  3. Дважды щелкните имя требуемого сервера или введите его имя непосредственно в поле "Имя сервера". Нажмите кнопку "Далее".
    Диалоговое окно "Настройка узла" для удаленной разработки.


  4. Введите в окне "Настройка узла" имя пользователя и пароль, используемые для входа на удаленный узел, и выберите метод проверки подлинности. При работе с данным учебным курсом выберите "Пароль" и нажмите кнопку "Далее".
    Параметры проверки доступа для подключения к удаленному узлу разработки.
  5. Для использования ключей ssh сначала необходимо настроить их вне среды IDE. Затем можно указать местоположение ключей ssh в среде IDE, и в среде появится возможность использовать эти ключи для установки соединения ssh с удаленным узлом разработки.

  6. После установки соединения с сервером введите пароль в диалоговом окне "Проверка подлинности".
  7. Дополнительно можно щелкнуть "Запомнить пароль" для выполнения в среде IDE шифрования и сохранения пароля на локальном диске, чтобы ввод пароля не требовался при каждом подключении среды IDE к удаленному узлу.
  8. Среда IDE настраивает удаленный узел и выполняет поиск наборов средств удаленного узла.

  9. После успешной настройки узла на странице общих сведений выводится информация об удаленном узле: платформа, имя узла, имя пользователя для входа, а также найденные наборы средств.
    Рисунок, на котором изображен процесс добавления нового узла для удаленной разработки.
  10. В нижней части страницы общих сведений отображаются еще два параметра. Если найдено несколько наборов средств, выберите один из них для определения его как набора средств по умолчанию.
  11. Для параметра синхронизации:
    • Если в клиентской системе и узле удаленной разработки закрыт общий доступ к файлам проекта, выберите интеллектуальное безопасное копирование. При выборе интеллектуального безопасного копирования файлы проекта будут скопированы с помощью команды scp или sftp в домашний каталог на сервере.
    • Если клиент и сервер имеют общий доступ к одному и тому же файлу, выберите совместное использование файловой системы (без синхронизации).
  12. Для выхода из мастера нажмите кнопку "Готово".
  13. Новый удаленный узел отображается в окне "Службы" в узле "Узлы разработки C/C++". Разверните новый узел: список "Наборы средств" должен содержать один или несколько наборов средств.
  14. Окно "Удаленные наборы средств".
  15. Если наборы средств отсутствуют в списке:

    • На удаленном узле добавьте в пользовательский путь узла каталог bin набора средств. Если наборы средств на удаленном узле недоступны, следует установить набор компиляторов GNU, либо программное обеспечение Sun Studio или Oracle Solaris Studio.
    • Если путь к исполняемым файлам средств находится в пользовательском пути к удаленному узлу, можно попытаться повторно настроить набор средств в локальной системе. Щелкните правой кнопкой мыши узел в окне "Службы" и выберите команду "Восстановить наборы средств по умолчанию" для выполнения в среде IDE повторной попытки поиска наборов средств на удаленном узле.
    • Также можно щелкнуть правой кнопкой мыши узел в окне "Службы" и выбрать команду "Добавить набор средств" для указания или поиска пути к набору средств на удаленном узле.
  16. После вывода набора средств в списке создание удаленного узла разработки будет завершено. Теперь обратимся к разработке приложений с помощью наборов.

Создание локального проекта на удаленном узле

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

  5. Выберите новый удаленный узел в качестве узла разработки. Список наборов средств будет обновлен для отображения доступных средств удаленного узла.
  6. Мастер создания проекта с выбранным удаленным узлом разработки.
  7. Для создания проекта нажмите кнопку "Готово". Обратите внимание, что при наведении курсора мыши на имя проекта в окне "Проекты" выводится всплывающая подсказка с именем проекта и удаленным узлом, настроенным для построения проекта.
  8. Теперь нажмите кнопку "Построить" на панели инструментов или щелкните узел проекта правой кнопкой мыши и выберите команду "Построить". Пример проекта будет построен на выбранном удаленном узле разработки.
  9. Следующий снимок экрана демонстрирует всплывающую подсказку со сведениями, что исходный файл расположен на локальном компьютере, и функция поддержки помощника при работе с кодом активируется при нажатии сочетания клавиш CTRL+ПРОБЕЛ и наведении курсора на символ argc.

    В окне "Вывод" отображается имя узла, на котором было собрано приложение. Удаленные компиляторы и средство make этого узла были использованы для построения. Файлы проекта расположены в пользовательском каталоге .netbeans/remote/system-platform на удаленном узле.

    Результат построения

    После настройки удаленного узла различия в рабочем процессе незаметны. Разработчик может пользоваться всеми функциями редактора (построение, запуск, тестирование и отладка) таким же образом, как при локальной работе.

    Запуск сеанса работы с терминалом на удаленном узле

    Можно запустить сеанс работы с терминалом безопасного интерпретатора команд (ssh) в рамках среды IDE для подключения к удаленной или локальной системе. Эта функция в особенности подходит для платформ Windows, изначально не поддерживающих SSH.

    • Выберите в среде IDE команду "Окно" > "Вывод" > "Терминал", чтобы открыть вкладку "Терминал", которую можно использовать для запуска сеанса работы с терминалом на локальном или удаленном узле.
    • Нажмите кнопку "Создать удаленный терминал" для вывода диалогового окна "Подключение SSH".
    • Диалоговое окно терминала SSH.
    • Введите имя пользователя и имя узла, а затем нажмите кнопку "ОК".
    • В среде IDE будет запущен сеанс ssh для указанного узла, а на вкладке "Терминал" будет выведен запрос на регистрацию на удаленном узле.
    • Перейдите к каталогу $HOME/.netbeans/remote для просмотра файлов проекта, которые по умолчанию хранятся в подкаталогах, обозначающих имя локальной системы и платформы создания проекта.

    Можно использовать локальный терминал среды IDE для выполнения действий, обычно выполняемых в сеансе ssh на удаленном узле.

    Рекомендации по удаленной разработке

    • Можно переключить узел разработки проекта, щелкнув узел проекта правой кнопкой мыши и выбрав "Установить узел удаленной разработки".
    • Меню "Установить удаленные узлы".
    • Чтобы изменить свойства удаленного узла разработки после начальной настройки, щелкните этот узел в окне "Службы" и выбрав команду "Свойства".
    • Если удаленный узел используется для создания и запуска приложения с графическим интерфейсом, можно выбрать в свойствах узла параметр "Включить перенаправление X11" для отображения интерфейса пользователя в локальной системе при его выполнении на удаленном узле.
    • Данные по удаленному узлу и средствам доступны в меню среды IDE "Сервис", а также в окне "Службы". Выберите меню "Сервис" > "Параметры" > "C/C++" > "Средства построения" и нажмите кнопку "Изменить" рядом со списком "Узел разработки".
    • При использовании функции совместного доступа к файлам проекта можно отобразить локальный и удаленный путь к папкам совместного доступа при помощи функции "Отображение пути". Отображение можно установить, выбрав меню "Сервис" > "Параметры" > "C/C++" > "Средства построения" > "Изменить". Затем выберите удаленный узел и нажмите кнопку "Отображение пути".
    • Если в ходе построения проекта выполняется компиляция библиотек или создание других файлов в дополнение к основному продукту построения, среда IDE выведет запрос на загрузку файлов в локальную систему. При этом можно выбрать измененные файлы для загрузки.

    Дополнительные сведения о поддержке языков C/C++/Фортран

    Обратитесь к учебной карте по языкам C/C++ для получения дополнительных сведений о работе с функциями C/C++/Фортран в среде IDE.