編譯工具開關用來設置你的應用的環境,不可能在你的程序代碼中。通常,你可以只指定應用程序的輸出文件名稱,和包含用來初始化程序其它部分的靜態方法 `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
- 附加部分