从Haxe 3.0开始,你可以通过运行 haxe --help-defines 获得支持的编译器标记(第6.1节)列表。
> Starting from Haxe 3.0, you can get the list of supported compiler flags (6.1) by running `haxe --help-defines`
| 标记 |描述|
| -- | -- |
|absolute-path|打印绝对文件路径到trace 输出|
|advanced-telemetry|允许SWF被Monocle工具实测|
|analyzer|使用静态的分析仪用于优化(实验)|
|as3|当输出flash9 as3源代码时定义|
|check-xml-proxy|检查xml代理用到的字段|
|core-api|定义到核心api上下文|
|core-api-serialize|使用C#中的Serializable 属性标记一些生成的代码 api 类|
|cppia|生成实验性的c++指令集|
|dce=<mode:std\|full\|no> (竖线因编辑器问题显式不正常)|设置无用代码消除(第8.2节)模式(默认为 std)|
|dce-debug|显式无用代码消除(第8.2节)日志|
|debug|当使用 -debug编译时激活 |
|display|编译过程中激活|
|dll-export|GenCPP 实验性链接|
|dll-import| GenCPP 实验性链接 |
|doc-gen |不执行任何 移除/改变, 以正确的生成文档|
|dump |为内部的调试转储完全类型化的 AST到一个转储子目录 - 使用dump-pretty进行Haxe风格的格式化。|
|dump-dependencies |转储类依赖关系到一个转储目录 |
|dump-ignore-var-ids |从不美观的dumps移除变量的IDs(有助于diff)|
|fdb |为FDB交互调试启用完整的flash调试信息|
|file-extension |输出c++源代码文件名后缀|
|flash-strict | flash目标的严格类型 |
|flash-use-stage | 保留SWF库的初始阶段|
|force-lib-check|强制编译器检查 -net-lib 和 -java-lib 添加的类(内部)|
|force-native-property| Tag all properties with :nativeProperty metadata for 3.1 compatibility|
|format-warning|Print a warning for each formated string, for 2.x compatibility|
|gencommon-debug|GenCommon internal|
|haxe-boot| Given the name 'haxe' to the flash boot class instead of a generated name|
|haxe-ver|当前Haxe版本值|
|hxcpp-api-level|Provided to allow compatibility between hxcpp versions|
|include-prefix|prepend path to generated include files|
|interp|The code is compiled to be run with --interp|
|java-ver=[version:5-7]|设置目标的Java版本|
|js-classic|Don't use a function wrapper and strict mode in JS output|
|js-es5|Generate JS for ES5-compliant runtimes|
|js-unflatten|Generate nested objects for packages and types|
|keep-old-output|Keep old source files in the output directory (for C#/Java)|
|loop-unroll-max-cost|Maximum cost (number of expressions * iterations) before loop unrolling is canceled (default 250)|
|macro| Defined when code is compiled in the macro context|
|macro-times|Display per-macro timing when used with --times|
|net-ver=<version:20-45>|设置目标的.NET版本|
|net-target=<name>|Sets the .NET target. Defaults to net. xbox, micro (Micro Framework, compact (Compact Framework) are some valid values|
|neko-source|Output neko source instead of bytecode|
|neko-v1|Keep Neko 1.x compatibility|
|network-sandbox|Use local network sandbox instead of local file access one|
|no-compilation|Disable CPP final compilation|
|no-copt|Disable completion optimization (for debug purposes)|
|no-debug|Remove all debug macros from cpp output|
|no-deprecation-warnings|Do not warn if fields annotated with @:deprecated are used|
|no-flash-override|Change overrides on some basic classes into HX suffixed methods flash only|
|no-opt|Disable optimizations|
|no-pattern-matching|Disable pattern matching|
|no-inline|Disable inlining|
|no-root|GenCS internal|
|no-macro-cache|Disable macro context caching|
|no-simplify|Disable simplification filter|
|no-swf-compress|Disable SWF output compression|
|no-traces|Disable all trace calls|
|php-prefix|Compiled with --php-prefix|
|real-position|Disables haxe source mapping when targetting C#|
|replace-files|GenCommon internal|
|scriptable|GenCPP internal|
|shallow-expose|Expose types to surrounding scope of Haxe generated closure without writing to window object|
|source-map-content|Include the hx sources as part of the JS source map|
|swc|Output a SWC instead of a SWF|
|swf-compress-level=<level:1-9>|Set the amount of compression for the SWF output|
|swf-debug-password=<yourPassword>|Set a password for debugging. The password field is encrypted by using the MD5 algorithm and prevents unauthorised debugging of your swf. Without this flag -D fdb will use no password.|
|swf-direct-blit|Use hardware acceleration to blit graphics|
|swf-gpu|Use GPU compositing features when drawing graphics|
|swf-metadata=<file.xml>|Include contents of <file.xml> as metadata in the swf.|
|swf-preloader-frame|Insert empty first frame in swf. To be used together with -D flash-use-stage and -swf-lib|
|swf-protected|Compile Haxe private as protected in the SWF instead of public|
|swf-script-timeout|Maximum ActionScript processing time before script stuck dialog box displays (in seconds)|
|swf-use-doabc|Use DoAbc swf-tag instead of DoAbcDefine|
|sys|Defined for all system platforms|
|unsafe|Allow unsafe code when targeting C#|
|use-nekoc|Use nekoc compiler instead of internal one|
|use-rtti-doc|Allows access to documentation during compilation|
|vcproj|GenCPP internal|
- 空白目录
- 1.Haxe介绍
- 1.1.Haxe是什么
- 1.2.关于本文档
- 1.2.1.作者及贡献者
- 1.2.2.License
- 1.3Hello World
- 1.4.Haxe的历史
- 2.类型
- 2.1.基本类型
- 2.1.1.数值类型
- 2.1.2.溢出
- 2.1.3.数值运算符
- 2.1.4.Bool类型
- 2.1.5.Void类型
- 2.2.为空性
- 2.2.1.可选参数和为空性
- 2.3.类实例
- 2.3.1.类的构造函数
- 2.3.2.继承
- 2.3.3.接口
- 2.4.枚举实例
- 2.4.1.Enum构造函数
- 2.4.2.使用枚举
- 2.5.匿名结构
- 2.5.1.结构值的JSON形式
- 2.5.2. 结构类型的类记法
- 2.5.3.可选字段
- 2.5.4.性能影响
- 2.6.函数类型
- 2.6.1.可选参数
- 2.6.2.默认值
- 2.7.动态类型
- 2.7.1.Dynamic使用类型参数
- 2.7.2.实现Dynamic
- 2.8.抽象类型
- 2.8.1.隐式类型转换
- 2.8.2.运算符重载
- 2.8.3.数组访问
- 2.8.4.选择函数
- 2.8.5.枚举抽象类型
- 2.8.6.转发抽象类型字段
- 2.8.7.核心类型抽象
- 2.9.单形
- 3.类型系统
- 3.1.Typedef
- 3.1.1.扩展
- 3.2.类型参数
- 3.2.1.约束
- 3.3.泛型
- 3.3.1.泛型类型参数解释
- 3.4.变异
- 3.5.统一
- 3.5.1.类/接口 之间
- 3.5.2.结构子类型化
- 3.5.3.单形
- 3.5.4.函数返回
- 3.5.5.通用基本类型
- 3.6.类型推断
- 3.6.1.由上而下推断
- 3.6.2.局限
- 3.7.模块和路径
- 3.7.1.模块子类型
- 3.7.2.Import
- 3.7.3.解析顺序
- 4.类字段
- 4.1.变量
- 4.2.属性
- 4.2.1.常见访问标识符组合
- 4.2.2.对类型系统的影响
- 4.2.3.getter和setter的规则
- 4.3.方法
- 4.3.1.重写方法
- 4.3.2.变异和访问修饰符的影响
- 4.4.访问修饰符
- 4.4.1.可见性
- 4.4.2.Inline
- 4.4.3.Dynamic
- 4.4.4.Override
- 4.4.5.Static
- 5.表达式
- 5.1.块
- 5.2.常量
- 5.3.二元操作符
- 5.4.一元操作符
- 5.5.数组声明
- 5.6.对象声明
- 5.7.字段访问
- 5.8.数组访问
- 5.9.函数调用
- 5.10.var
- 5.11.局部函数
- 5.12.new
- 5.13.for
- 5.14.while
- 5.15.do-while
- 5.16.if
- 5.17.switch
- 5.18.try/catch
- 5.19.return
- 5.20.break
- 5.21.continue
- 5.22.throw
- 5.23.类型转换
- 5.23.1.不安全转换
- 5.23.2.安全转换
- 5.24.类型检查
- 6.语言特性
- 6.1.条件编译
- 6.2.Externs
- 6.3.静态扩展
- 6.3.1.标准库中的静态扩展
- 6.4.模式匹配
- 6.4.1.介绍
- 6.4.2.枚举匹配
- 6.4.3.变量捕获
- 6.4.4.结构匹配
- 6.4.5.数组匹配
- 6.4.6.Or 模式
- 6.4.7.守护
- 6.4.8.多个值的匹配
- 6.4.9.提取器
- 6.4.10.穷尽性检查
- 6.4.11.无效的模式检查
- 6.5.字符串插值
- 6.6.数组推导
- 6.7.迭代器
- 6.8.函数绑定
- 6.9.元数据
- 6.10.访问控制
- 6.11.内联构造函数
- 7.编译器用法
- 7.1.编译器标记
- 8.编译器功能
- 8.1.内建编译器元数据
- 8.2.无用代码消除
- 8.3.编译器服务
- 8.3.1.概述
- 8.3.2.字段访问完成
- 8.3.3.调用参数完成
- 8.3.4.类型路径完成
- 8.3.5.使用完成
- 8.3.6.位置完成
- 8.3.7.顶级完成
- 8.3.8.完成服务
- 8.4.资源
- 8.4.1.嵌入资源
- 8.4.2.检索文本资源
- 8.4.3.检索二进制资源
- 8.4.4.实现细节
- 8.5.运行时类型信息
- 8.5.1.RTTI 结构
- 8.6.静态分析仪
- 9.宏
- 9.1.宏上下文
- 9.2.参数
- 9.2.1.ExprOf
- 9.2.2.常数表达式
- 9.2.3.其它的参数
- 9.3.具体化
- 9.3.1.表达式具体化
- 9.3.2.类型具体化
- 9.3.3.类具体化
- 9.4.工具
- 9.5.类型构建
- 9.5.1.枚举构建
- 9.5.2.@:autoBuild
- 9.5.3.@:genericBuild
- 9.6.限制
- 9.6.1.Macro-in-Macro
- 9.6.2.静态扩展
- 9.6.3.构建顺序
- 9.6.4.类型参数
- 9.7.初始化宏
- 10.标准库
- 10.1.字符串
- 10.2.数据结构
- 10.2.1.数组
- 10.2.2.向量
- 10.2.3.列表
- 10.2.4.GenericStack
- 10.2.5.Map
- 10.2.6.Option
- 10.3.正则表达式
- 10.3.1.匹配
- 10.3.2.分组
- 10.3.3.替换
- 10.3.4.分割
- 10.3.5.Map
- 10.3.6.实现细节
- 10.4.Math
- 10.4.1.特殊数值
- 10.4.2.数学错误
- 10.4.3.整数数学
- 10.4.4.扩展
- 10.5.Lambda
- 10.6.模板
- 10.7.反射
- 10.8.序列化
- 10.8.1.格式化序列化
- 10.9.Xml
- 10.9.1.开始使用Xml
- 10.9.2.解析Xml
- 10.9.3.编码Xml
- 10.10.Json
- 10.10.1.解析JSON
- 10.10.2.编码JSON
- 10.10.3.实现细节
- 10.11.Input/Output
- 10.12.Sys/sys
- 10.13.远程处理
- 10.13.1.远程连接
- 10.13.2.实现细节
- 10.14.单元测试
- 11.Haxelib
- 11.1.Haxe编译器使用库
- 11.2.haxelib.json
- 11.2.1.版本控制
- 11.2.2.依赖关系
- 11.3.extraParams.hxml
- 11.4.使用Haxelib
- 12.目标平台细节
- 12.1.JavaScript
- 12.1.1.开始使用Haxe/JavaScript
- 12.1.2.使用外部JavaScript库
- 12.1.3.注入原生JavaScript
- 12.1.4.JavaScript untyped函数
- 12.1.5.调试JavaScript
- 12.1.6.JavaScript目标元数据
- 12.1.7.为JavaScript暴露Haxe类
- 12.1.8.使用 require函数加载外部类
- 12.2.Flash
- 12.2.1.开始使用Haxe/Flash
- 12.2.2.嵌入资源
- 12.2.3.使用外部Flash库
- 12.2.4.Flash目标元数据
- 12.3.Neko
- 12.4.PHP
- 12.4.1.开始使用Haxe/PHP
- 12.4.2.PHP untyped函数
- 12.5.C++
- 12.5.1.Using C++定义
- 12.5.2.Using C++ 指针
- 12.6.Java
- 12.7.C#
- 12.8.Python