Программирование на C++Для чего необходимы отладочные директивы? (в чем различие: ввести
Программирование на C++
Для чего необходимы отладочные директивы? (в чем различие: ввести эти данные в исходном коде (.cpp) либо ввести отладочные директивы (.h) ) ??
Григорец
Артемка
отладочные директивы? возможно речь о директивах препроцессора?
Санек Бовирин
Да, верно
Осютин
Руслан
ну тогда коечто о их расскажу
1 ответ
Элина
И так, для чего же нужны директивы препроцессора? Заголовочные файлы врубаются в текст программки с помощью директивы препроцессора include. Программка, которая обрабатывает эти директивы, называется препроцессором. Имя файла может быть указано 2-мя методами: include lt;some_file.hgt; либо include "my_file.h". Если имя файла заключено в угловые скобки (lt;gt;), считается, что нам нужен некоторый стандартный заголовочный файл, и компилятор ищет этот файл в предопределенных местах. Двойные кавычки значат, что заголовочный файл - пользовательский, и его поиск начинается с того каталога, где находится начальный текст программки. При этом обычно имя файла который заключен в (lt;gt;) это стандартные библиотеки самого языка либо же внешние, путь к котором необходимо прописывать в настройках проекта, тот же пример include lt;siostreamgt;. В *.h файлах определяются типы, классы, прототипы функций, объявляются переменные (что они где-то есть), кода в *.h файлах нет за исключением inline функций (т.к. при компиляции каждый cpp файл лицезреет только подключённые к нему *.h, поэтому тела inline функций берутся из них). Потом происходит сборка. Если сборка увидит совпадения имён или внедрение только объявленных (но не существующих) переменных - появляются оплошности сборки. Для стандартных *.h файлов есть скомпилированные объектные файлы, потому им cpp не требуется, т.к. всё необходимое они черпают оттуда. Добавка: предназначение *.h файла простое - разделение кода программы на несколько файлов. Структура разделения такая: создаем test.h файл в котором будет обусловятся класс и его способы, потом создается test.сpp и там теснее инициализируем способы класса. Вообщем различия нету, в *.h файле я могу найти любую функцию , а потом подключив в main.cpp через include lt;*.hgt; сумел бы ее вызвать, также как и если б она была в самом файле main.cpp, но семантически это не правильно и так делать не надобно.
Людмила Аргир
А почему это считается неправильным, если программка будет работать в обоих случаях
Милена Лабуцкая
Неверным с точки зрения правильности написания кода, человеку который поглядит на ваш код будет трудно понять что вы хотели сделать и для чего. Предназначение *.h файла обычное - разделение кода программки на несколько файлов. В *.h файлах определяются типы, классы, прототипы функций, объявляются переменные и т.д.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов