Posts Tagged ‘препроцессор’

Условная компиляция Java на основе XML и XSL

Понедельник, Апрель 9th, 2012 Нет комментариев

Under : , , , , ,

Условная компиляция достаточно полезная вещь, с этим, наверное, никто спорить не будет. Иметь возможность собирать разные версии приложения без изменений исходных текстов очень удобно. Условная компиляция есть в С/С++, в VB и еще наверно не в одном языке программирования. Но ее нет почему-то в Java. Может этому есть разумное объяснение, а может и нет. В любом случае лучше иметь этот инструмент в языке, а уж разработчики сами решат, пользоваться им или нет.

Одним из способов отладки Java (да вообще-то любых) программ, как известно, является добавление в код функций трассировки: (далее…)

Директива препроцессора define

Директива define позволяет связать идентификатор (мы будем называть этот идентификатор замещаемой частью) с лексемой (возможно, что пустой!) или последовательностью лексем (строка символов является лексемой, заключённой в двойные кавычки), которую называют строкой замещения или замещающей частью директивы define.

Идентификаторы, которые используют для представления констант, называют объявленными или символическими константами. Например, последовательность символов, располагаемая после объявленной константы PI, объявляет константу 3.14159. Препроцессор заменит в оставшейся части программы все отдельно стоящие вхождения идентификатора PI на лексему, которую транслятор будет воспринимать как плавающий литерал 3.14159.
Препроцессор выполняет грубую предварительную работу по замене замещаемых идентификаторов замещающими строками. В этот момент ещё ничего не известно об именах, поскольку транслятор фактически ещё не начинал своей работы. А потому следует следить за тем, чтобы замещаемые идентификаторы входили в состав объявлений лишь как элементы инициализаторов.
(далее…)

Программный модуль

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

Как сказано в справочном руководстве по C++, файл состоит из последовательности объявлений.

Здесь нет ничего странного: определение является частным случаем объявления (например, объявление, содержащее инициализацию).
(далее…)