Posts Tagged ‘компиляция’

Условная компиляция в javascript

Понедельник, Февраль 2nd, 2015 Нет комментариев

Under : , , , ,

Условная компиляция

Начиная с Internet Explorer 4.0, язык JScript поддерживает условную компиляцию сценариев. Она была введена в JScript для того, чтобы одновременно обеспечить и использование новых возможностей языка, и совместимость со старыми версиями обозревателей. Типичными примерами использования условной компиляции являются добавление в сценарий отладочного кода и трассировка исполнения сценария. Условная компиляция включается директивой @cc_on или директивами @if или @set. Директивы условной компиляции всегда следует помещать внутрь комментариев с тем, чтобы обозреватели, которые не поддерживают условную компиляцию (например, Netscape Navigator), их игнорировали. Пример:

/*@cc_on @*/
/*@if (@_jscript_version >= 4)
alert(«JScript версии 4 или выше»);
@else @*/
alert(«Ваш JScript устарел.»);
/*@end @*/

В этом примере использованы комментарии специального вида, которые используются только после директивы @cc_on. Обозреватели, которые не поддерживают условную компиляцию, увидят здесь только строку alert(«Ваш JScript устарел.») и исполнят ее.

Переменные условной компиляции

В директивах условной компиляции могут использоваться предопределенные переменные, перечисленные в приведенной ниже таблице. Если значение переменной отлично от true, то она не определена и ведет себя как NaN.

Переменные условной компиляции

Переменная

Описание

@_win32 .

true при выполнении в системе Win32

@_win16

true при выполнении в системе Win16.

@_mac

true при выполнении в системе Apple Macintosh.

@_alpha

true при выполнении на процессоре DEC Alpha.

@_x86 .

true при выполнении на процессоре Intel

@_mc680x0

true при выполнении на процессоре Motorola 680×0.

@_PowerPC

true при выполнении на процессоре Motorola PowerPC.

@_jscript .

Всегда true

@_jscript_build

Номер сборки JScript.

@_jscript_version

Номер версии JScript в формате m.n.


Директивы условной компилляции:


@cc_on

NN n/a    IE 4.0   ECMA n/a

Директива @cc_on включает условную компиляцию. Альтернативный способом включения условной компиляции является использование директив @if или @set, не заключенных в комментарий.

Синтаксис:
@cc_on


@if

NN n/a    IE 4.0   ECMA n/a

Директива @if выполняет заданный фрагмент кода в зависимости от значения выражения.
Синтаксис:
@if (условие1)
инструкции1
@elif (условие2)
инструкции2
@else
инструкции3
@end

Если условие1 истинно, то выполняются инструкции1. Если условие1 ложно, присутствует необязательная директива @elif и условие2 истинно, то выполняются инструкции2. В противном случае, если присутствует необязательная директива @else, то выполняются инструкции3; если ее нет, то управление передается следующему оператору. Данная директива может содержать несколько ветвей @elif, но все они должны предшествовать ветви @else.

Пример:
@if (@_win32)
alert(«Работаем в Windows NT/95/98″)
@else
alert(«Неизвестная операционная система!»);

@set

NN n/a    IE 4.0   ECMA n/a

Директива @set создает переменные условной компиляции. Имена таких переменных имеют синтаксис переменных JavaScript, но должны начинаться с символа «@». Значение, которое присваивается переменной, может быть любым выражением JavaScript (возможно с использованием ранее определенных переменных условной компиляции), которое возвращает числовое или логическое значение.
Синтаксис:
@set @переменная = значение
Примеры:
@set @var1 = 1
@set @var2 = (@var1 + 1) * 10;
@set @var3 = @_jscript_version

Если переменная используется до ее определения, то она имеет значение NaN. Поскольку это единственное значение, которое не равно самому себе, то проверку определенности значения переменной следует делать так:

@if (@myVar != @myVar) …

 

Источник: yapro.ru

Создание больших web-проектов

Суббота, Август 11th, 2012 Нет комментариев

Under : , , , ,

У любого успешного web-проекта рано или поздно возникает проблема роста. Существующие программно-аппаратные ресурсы перестают справляться с растущей нагрузкой. Универсальных рецептов, к сожалению не существует. В каждом проекте хороший программист будет программировать по-разному. Тем не менее, в этой статье я попробую дать несколько типичных рекомендаций по созданию больших web-проектов. Такие проекты в процессе создания и развития сталкиваются, как правило, с двумя почти противоположными по способам решения проблемами — большими скоростями и большими объемами данных.
(далее…)

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

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

Under : , , , , ,

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

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