编译工具开关用来设置你的应用的环境,不可能在你的程序代码中。通常,你可以只指定应用程序的输出文件名称,和包含用来初始化程序其它部分的静态方法 `main` 的类的名称。
然而,在目标为 Flash 影片的情况时,你也可以指定尺寸,目标播放器版本,和任何其他你希望嵌入到输出影片的外部 SWF 文件。
**下面是各种开关的列表:**
编译命令用法:
~~~
haxe -main <class>
[-swf|-js|-neko|-php|-cpp|-cppia|-as3|-cs|-java|-python|-hl|-lua] <output> [options]
~~~
|开关|参数|描述|
| -- | -- | -- |
| -cp | <path> | 添加一个目录来寻找源文件 |
| -js | <file> | 编译代码为 JavaScript 文件 |
| -lua | <file> | 编译代码为 Lua 文件 |
| -swf | <file> | 编译代码为 Flash SWF 文件 |
| -as3 | <directory> | 生成 AS3 代码到目标目录 |
| -neko | <file> | 编译代码为 Neko 二进制文件 |
| -php | <directory> | 生成 PHP 代码到目标目录 |
| -cpp | <directory> | 生成 C++ 代码到目标目录 |
| -cppia | <file> | 生成 Cppia 代码到目标文件 |
| -cs | <directory> | 生成 C# 代码到目标目录 |
| -java | <directory> | 生成 Java 代码到目标目录 |
| -python | <file> | 生成 Python 代码为目标文件 |
| -hl | <file> | 编译 HL 代码为目标文件 |
| -xml | <file> | 生成 XML 类型描述 |
| -main | <class> | 选择启动类 |
| -lib | <library[:version]> | 使用一个 haxelib 库 |
| -D | <var[=value]> | 定义一个条件条件编译标识 |
| -v | | 开启繁琐模式 |
| -debug | | 添加调试信息到编译后的文件 |
| -dce | [std \| full \| no] | 设置无用代码消除模式,默认是 std |
| -swf-version | <version> | 改变 SWF 的版本 |
| -swf-header | <header> | 定义 SWF 的头 (width:height:fps:color) |
| -swf-lib | <file> | 添加 SWF 库到编译后的 SWF |
| -swf-lib-extern | <file> | 使用 SWF 库进行类型检查 |
| -java-lib | <file> | 添加一个外部的 JAR 或者类目录 库 |
| -net-lib | <file>[@std] | 添加一个外部的 .NET DLL 文件 |
| -net-std | <file> | 添加一个根 std .NET DLL 搜索路径 |
| -c-arg | <arg> | 传递可选的 <arg> 到原生的 Java/C# 编译器 |
| -x | <file> | 编译的快捷方式,执行一个 neko 文件 |
| -resource | <file>[@name] | 添加一个命名的资源文件 |
| -prompt | | 关于错误的提示 |
| -cmd | | 在成功编译之后运行指定的命令 |
| --flash-strict | | 更加严格类型的 Flash API |
| --no-trace | | 不把 trace 调用编译到程序中 |
| --gen-hx-classes | | 为所有输入的类生成 hx 头 |
| --next | | 分开几个 haxe 编译 |
| --each | | 附加前述参数到到所有被 --next 分隔开的 haxe 编译 |
| --display | | 显示代码 tips |
| --no-output | | 编译但是不生成任何文件 |
| --no-opt | | 禁用代码优化 |
| --times | | 编译计时 |
| --no-inline | | 禁用内联 |
| --php-front | <filename> | 为 php front 文件选择名称 |
| --php-lib | <filename> | 为 php lib 文件夹选择名称 |
| --php-prefix | <name> | 为所有类添加指定名称的前缀 |
| --remap | <package:target> | 重新映射一个包到另外一个 |
| --interp | | 使用内部的宏系统解释应用程序 |
| --macro | | 在类型化所有内容之前调用指定的宏 |
| --eval | | 计算参数作为 Haxe 模块代码 |
| --wait | <[host:]port> | 等待在指定端口运行命令 |
| --connect | <[host:]port> | 连接并在指定端口运行命令 |
| --cwd | <dir> | 设置当前工作目录 |
| -version | | 打印版本号并退出 |
| --help-defines | | 打印编译器详细定义的帮助 |
| --help-metas | | 打印所有编译器元数据的帮助 |
| -help | | 显示这个选项的列表 |
| --help | | 显示这个选项的列表 |
这里的很多内容超出了本书范围。然而,在需要的时候,本书会解释一些常用的开关。
- 本书目录
- 第一章:Haxe介绍
- 互联网开发的一个问题
- Haxe是什么,为什么产生
- Haxe编译工具
- Haxe语言
- Haxe如何工作
- 那么Neko是什么
- Haxe和Neko的必须条件
- 本章摘要
- 第二章:安装、使用Haxe和Neko
- 安装Haxe
- 使用Haxe安装程序
- 在Windows上手动安装Haxe
- Linux上手动安装Haxe
- 安装Neko
- Windows上手动安装Neko
- 在Linux上安装Neko
- Hello world! 一式三份
- 编译你的第一个Haxe应用
- 你的程序如何编译
- HXML编译文件
- 编译到Neko
- 编译为JavaScript
- 程序结构
- 编译工具开关
- 本章摘要
- 第三章:基础知识学习
- Haxe层级结构
- 标准数据类型
- 变量
- 类型推断
- 常数变量
- 简单的值类型
- 浮点类型
- 整型
- 选择数值类型
- 布尔类型
- 字符串类型
- 抽象类型
- Void 和 Null
- 动态类型
- unknown类型
- 使用untyped绕过静态类型
- 注释代码
- 转换数据类型
- Haxe数组
- Array
- List
- Map
- Haxe中使用日期时间
- 创建一个时间对象
- Date组件
- DateTools类
- 操作数据
- 操作符
- Math类
- 使用String函数
- 本章摘要
- 第四章:信息流控制
- 数据存放之外
- 条件语句
- if语句
- switch语句
- 从条件语句返回值
- 循环
- while循环
- for循环
- 循环集合
- Break和Continue
- 函数
- 类的函数
- 局部函数
- Lambda类
- 本章摘要
- 第五章:深入面向对象编程
- 类和对象
- 实例字段
- 静态字段
- 理解继承
- Super
- 函数重载
- 构造器重载
- toString()
- 抽象类和抽象方法
- 静态字段,实例变量和继承
- 继承规则
- 使用接口
- 高级类和对象特性
- 类的实现
- 类型参数
- 匿名对象
- 实现动态
- Typedef
- 扩展
- 枚举
- 构造器参数
- 本章摘要
- 第六章:组织你的代码
- 编写可重用代码
- 使用包
- 声明一个包
- 隐式导入
- 显式导入
- 枚举和包
- 类型查找顺序
- 导入一个完整的包
- 导入库
- Haxe标准库
- Haxelib库
- 其他项目中的库
- 外部库
- 使用资源
- 文档化代码
- 离线文档
- 在线文档
- 单元测试
- haxe.unit包
- 编写测试
- 本章摘要
- 第七章:错误调试
- trace函数
- trace输出
- haxe的trace和ActionScript的trace
- 异常
- 异常处理
- CallStack和ExceptionStack
- 异常管理类
- 创建完全的异常处理类
- 异常类代码
- 本章摘要
- 第八章:跨平台工具
- XML
- XML剖析
- Haxe XML API
- 正则表达式
- EReg类
- 模式
- 定时器
- 延迟动作
- 队列动作
- MD5
- 本章摘要
- 第九章:使用Haxe构建网站
- Web开发介绍
- Web 服务器
- 使用Web服务器发布内容
- HTML速成课程
- Haxe和HTML的区别
- NekoTools Web Server
- Apache安装mod_neko
- Windows安装Apache和mod_neko
- Linux安装Apache和Mod_Neko
- 第一个Haxe网站
- 使用Neko作为网页Controller
- neko.Web类
- Neko作为前端控制器
- 本章摘要
- 第十章:使用模板进行分离式设计
- 什么是模板
- Template类
- Template语法
- 使用资产
- 何时在模板中使用代码
- 服务器端模板的Templo
- 安装Templo
- 使用Templo
- haxe.Template和mtwin.Templo表达式上的区别
- Attr表达式
- Raw表达式
- 逻辑表达式
- 循环表达式
- set, fill, 和 use表达式
- Templo中使用宏
- 手动编译模版
- 第十一章:执行服务端技巧
- 第十二章:使用Flash构建交互内容
- 第十三章:使用IDE
- 第十四章:通过JavaScript制作更多交互内容
- 第十五章:通过Haxe远程通信连接所学
- 第十六章:Haxe高级话题
- 第十七章:Neko开发桌面应用
- 第十八章:用SWHX开发桌面Flash
- 第十九章:多媒体和Neko
- 第二十章:使用C/C++扩展Haxe
- 附加部分