blob: fba4118b15a49f8e0c098324479d6783dc6f0881 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Рекомендации по работе с приложениями на C/C++</title>
<link rel="stylesheet" href="https://netbeans.org/netbeans.css" type="text/css">
<meta name="description"
content="Configuring code assistance for a multi-platform project">
<meta name="author" content="Vladimir Kvashin and Vladimir Voskresensky"> <!--Optional tag-->
<meta name="keywords" content=""> <!--Useful for including potential alternate search terms (shouldn't
overlap with words that are prominently listed in the tutorial) -->
</head>
<body>
<a name="top"></a>
<h1>Рекомендации по работе с приложениями на C/C++</h1>
<!-- START INTRO ---------------------------------------------------------------------------------------* -->
<div class="articledate" style="margin-left: 0px;font-style:italic;">
<p><em>Составители <a
href="mailto:vladimir.kvashin@sun.com"><i>Владимир Квашин</i></a> и <a
href="mailto:vladimir.voskresensky.com"><i>Владимир Воскресенский</i></a>,<br>
редактор <i>Сьюзан Морган (Susan Morgan)</i> Декабрь 2009 г.</em> [номер редакции: V6.8-1]
</div>
<h3>Содержание</h3>
<img src="../../../images_www/articles/69/netbeans-stamp-69-70.png" class="stamp"
alt="Содержимое этой страницы относится к версиям среды IDE NetBeans 6.7, IDE NetBeans 6.8, IDE NetBeans 6.9 и IDE NetBeans 7.0"
title="Содержимое этой страницы относится к версиям среды IDE NetBeans 6.7, IDE NetBeans 6.8, IDE NetBeans 6.9 и IDE NetBeans 7.0">
<table class="b-none" cellpadding="0" cellspacing="0" class="vatop">
<tr>
<td class="hyphen">-&nbsp;</td>
<td><a href="#questionmark" title="Что делать, если проект помечен вопросительным знаком в окне проектов или если директива #include подчеркнута красным цветом">Что делать, если проект помечен вопросительным знаком в окне проектов или если директива #include подчеркнута красным цветом</a></td>
</tr>
<tr>
<td class="hyphen">-&nbsp;</td>
<td><a href="#multiplatform" title="Настройка помощника при работе с кодом для проекта на базе нескольких платформ">Настройка помощника при работе с кодом для проекта на базе нескольких платформ</a></td>
</tr>
<tr>
<td class="hyphen">-&nbsp;</td>
<td><a href="#cannotbuild" title="Настройка помощника при работе с кодом в случаях, когда не удается создать проект">Настройка помощника при работе с кодом в случаях, когда не удается создать проект</a></td>
</tr>
<tr>
<td class="hyphen">-&nbsp;</td>
<td><a href="#definitiondeclaration" title="В каких случаях гиперссылка связана с определением функции, а в каких &ndash; с объявлением">В каких случаях гиперссылка связана с определением функции, а в каких &ndash; с объявлением</a></td>
</tr>
<tr>
<td class="hyphen">-&nbsp;</td>
<td><a href="#namespace" title="Поиск всех определений пространства имен">Поиск всех определений пространства имен</a></td>
<tr>
<td class="hyphen">-&nbsp;</td>
<td><a href="#declaration" title="Просмотр имени объявления, сделанного в макросе">Просмотр имени объявления, сделанного в макросе</a></td>
</tr>
</table>
<h2><a name="questionmark"></a>Что делать, если проект помечен вопросительным знаком в окне проектов</h2>
<p>
Если проект помечен вопросительным знаком в окне проектов или директива <tt>#include</tt> подчеркнута красным цветом, это означает, что проект содержит неразрешенные директивы include. В среде IDE применяется внутренний синтаксический анализатор, который используется функциями помощника при работе с кодом (автозавершение кода, окно классов, окно переходов и т. д.). Указанные пометки означают, что анализатор не может разрешить некоторые директивы <tt>#include</tt>, поскольку проект IDE имеет неверную конфигурацию.
</p>
<p>
Ниже приведены некоторые возможные причины (расположенные в порядке уменьшения вероятности).
<ul>
<li>Неверные или недостаточные пути к пользовательским include, указанные в проекте, логической папке или свойствах файла.</li>
<li>Неверные или недостаточные пользовательские макросы, указанные в проекте, логической папке или свойствах файла.</li>
<li>Исходный файл по ошибке включен в проект</li>
<li>Файл заголовка не включен ни в один исходный файл и поэтому по ошибке включен в проект</li>
</ul>
</p>
<p>
Попытайтесь запустить мастер настройки помощника при работе с кодом, щелкнув правой кнопкой мыши проект и выбрав &quot;Помощник при работе с кодом&quot; &gt; &quot;Настроить помощник при работе с кодом&quot;. Это поможет решить неполадку. Если вы точно знаете, где находятся файлы, соответствующие директиве include, с которой произошла неполадка, настройте проект, логическую папку и свойства файла вручную.
</p>
<h2><a name="multiplatform"></a>Настройка помощника при работе с кодом для проектов на базе нескольких платформ</h2>
<p>
При разработке проекта на базе нескольких платформ с помощью существующего кода можно использовать один и тот же проект IDE для нескольких платформ. Просто создайте по одной конфигурации на каждую платформу и измените набор компиляторов, параметры компиляторов и другие свойства проекта соответственным образом.
</p>
<p>Мастер настройки помощника при работе с кодом также работает с одной конфигурацией за раз: он может отменить только конфигурацию, активную в настоящий момент. Таким образом, вы можете запустить его отдельно для каждой конфигурации и получить разные параметры помощника при работе с кодом для каждой платформы.
</p>
<h2><a name="cannotbuild"></a>Настройка помощника при работе с кодом в случаях, когда не удается создать проект</h2>
<p>Мастер настройки помощника при работе с кодом наиболее эффективен, если при создании кода была включена информация об отладке (оптимальные варианты &ndash; <tt>-g3 -gdwarf-2</tt> для компиляторов GNU и только<tt>-g</tt> для компиляторов Sun.
</p>
<p>Однако на случай, если код не содержит информации об отладке, в мастере настройки помощника при работе с кодом предусмотрен специальный режим &ndash; Поиск файлов заголовков C/C++ в файловой системе. В этом режиме среда IDE NetBeans пытается разрешить директивы include, с которыми произошла неполадка, путем поиска заголовков в файловой системе. Для этого мастер запросит ввести путь для поиска заголовков. По умолчанию, это корневые папки исходных файлов проекта.
</p>
<h2><a name="definitiondeclaration"></a>В каких случаях гиперссылка связана с определением функции, а в каких &ndash; с объявлением</h2>
<p>
Гиперссылка от использования функций пытается найти определение функции в открытых проектах. Если определение функции не удается найти в открытых проектах, гиперссылка переходит к объявлению функции.
</p>
<p>Гиперссылка от объявления функции пытается найти определение функции в открытых проектах. В случае успешного исхода поиска она открывает найденное определение.</p>
<p>Гиперссылка от инфраструктуры определения функции пытается найти объявление функции в открытых проектах. В случае успешного исхода поиска она открывает найденное объявление.
</p>
<h2><a name="namespace"></a>Поиск всех определений пространства имен</h2>
<p>
Пространство имен может быть определено в различных файлах проекта. Для перехода между различными определениями пространства имен используется окно классов (CTRL+9) Щелкните правой кнопкой мыши интересующее вас пространство имен, затем выберите &quot;Все объявления&quot;. Отобразится список всех определений, отсортированных по именами файлов.
</p>
<p>Однако на случай, если код не содержит информации об отладке, в мастере настройки помощника при работе с кодом предусмотрен специальный режим &ndash; поиск файлов заголовков C/C++ в файловой системе. В этом режиме среда IDE NetBeans пытается разрешить директивы include, с которыми произошла неполадка, путем поиска заголовков в файловой системе. Для этого мастер запросит ввести путь для поиска заголовков. По умолчанию это корневые папки исходных файлов проекта.
</p>
<h2><a name="declaration"></a>Просмотр имени объявления, сделанного в макросе</h2>
<p>
Иногда макросы используются для объявления функций, пространств имен и переменных. Чтобы увидеть, как макрос был развернут в исходном коде для введения объявления, откройте окно навигации (CTRL+7) и наведите курсор на объявление, основанное на соответствующем макросе. Навигатор выберет объявление на соответствующем языке в своем представлении.
</p>
<div class="feedback-box"><a href="mailto:users@cnd.netbeans.org?subject=subject=Feedback:%C/C++ Application How-Tos - NetBeans IDE 6.8">Мы ждем ваших отзывов</a><br style="clear:both;">
</div>
</body>
</html>