Какой Flash SWF-компилятор использует директивы компилятора? - PullRequest
1 голос
/ 11 января 2009

Любые существующие компиляторы Flash SWF, которые могут понимать такие директивы, как #IF # ENDIF и т. Д.

Некоторые SWF-компиляторы: (с надеждой)

  • Компилятор AS3 - Haxe
  • Компилятор AS2 - MTASC
  • Компилятор Adobe Flex - Mxmlc
  • C # для SWF-компилятора - Debreuil

Ответы [ 2 ]

2 голосов
/ 11 января 2009

Я использовал mtasc, и он не поддерживает этот тип условной компиляции. Тем не менее, похоже, что Flex 3 mxmlc поддерживает эту через параметр командной строки -define. Также Haxe делает именно то, что вы хотите .

1 голос
/ 27 августа 2009

Компилятор MXMLC также поддерживает условную компиляцию, хотя он довольно примитивен и странно реализован.

Они не реализовали 'ifdef'. Вместо этого мы просто получаем значение после запятой из присваивания. Хотя это прекрасно работает для вставки строк, это довольно запутанно для логических значений.

В следующем примере компилируется только реализация метода release:

-define=CONFIG::debugging,false -define=CONFIG::release,true

Тогда в вашем исходном коде:

CONFIG::debugging
private function configure():void {
    // set up for debugging
}

CONFIG::release
private function configure():void {
    // set up for release
}
...