網友評分: 5分
易語言命令行編譯工具能夠直接通過命令行來編譯易語言程序,但不算是真正的獨立編譯器,還是需要依賴易語言程序,只不過不會顯示易語言IDE窗口,使用工具從打開源碼到完成編譯,包括處理各種錯誤都由命令行工具自動完成,提高編譯效率。
注意:此工具并不會繞過易語言正版檢測,需要使用正版易語言才能完成編譯。
下面是命令行說明:
命令行說明
set epath "EPATH"
設置默認易語言路徑
如: ecl.exe set epath "C:\Program Files (x86)\e\e.exe"
make Source [Target] [-epath path] [-bm|-bmX|-s|-d] [-b*Fg config] [-bmdes description] [-p password] [...]
編譯源碼
Source 源碼全路徑,如:"C:\test.e"
Target 保存文件,如:"C:\Release\test.exe",可空,默認生成到源碼所在目錄,文件名與源碼相同
-epath 指定易語言路徑,若不指定易語言路徑,則使用默認易語言或自動尋找
如: ecl.exe make "C:\test.e" -epath "C:\Program Files (x86)\e\e.exe" -s
-bm 黑月編譯:
-b*Fg 配置名稱,可空,黑月4.0版本以上才有效
-bmdes 特定備注,可空,黑月4.0版本以上才有效
-bm0 黑月匯編模式編譯(黑月3.8及版本以下才有效,否則按-bm處理)
-bm1 黑月C++模式編譯(黑月3.8及版本以下才有效,否則按-bm處理)
-bm2 黑月MFC模式編譯(黑月3.8及版本以下才有效,否則按-bm處理)
-s 靜態編譯
-d 獨立編譯
-p 編譯易包
-pwd 源碼密碼
-lib 啟用的支持庫文件名,不要加后綴.fne,多個支持庫用;分號分隔
如: -lib "BlackMoon;spec"
-e_xxx 指定易語言link.ini配置項的內容,xxx代表配置項名(但不會實際地修改該文件,只是用來告知易語言)
如:-e_linker "\VC98linker\Bin"
-k 執行完畢后,此命令行工具不會立即退出
-show 顯示易語言窗口
-st 啟用易語言超時,單位秒,默認5分鐘
-ct 編譯超時,單位秒,默認10分鐘
如: -ct 600
下面是易語言的系統配置:
-FastArry 開啟快速數組訪問方式(不開啟為-FastArry-,默認不開啟)
-CheckDllStack 開啟調用DLL命令后檢查堆棧錯誤(不開啟為-CheckDllStack-,默認開啟)
-CheckLoop 開啟死循環代碼檢查(不開啟為-CheckLoop-,默認開啟)
-Windows6.0 使用Windows通用組件庫6.0版(不使用為-Windows6.0-,默認不使用)
-OutLib 非獨立編譯后寫出相關庫(不寫出為-OutLib-,默認不寫出)
-CheckName 開啟嚴格的重復名稱檢查(不開啟為-CheckName-,默認不開啟)
-JunkLevel 花指令級別,默認0不插花,最大值為3
如:-JunkLevel 3
-Upset 編譯結果打亂碼,默認0不打亂,隨機打亂為0xFFFFFFFF
如:-Upset 0xFFFFFFFF
示例1(普通編譯):
ecl.exe make "C:\test.e"
示例2(指定易語言路徑進行靜態編譯):
ecl.exe make "C:\test.e" -epath "C:\Program Files (x86)\e\e.exe" -s
示例3(使用黑月編譯并指定配置名稱):
ecl.exe make "C:\test.e" -bm -b*Fg "默認配置"
示例4(編譯帶密碼的源碼):
ecl.exe make "C:\test.e" -pwd "The Password"
示例5(編譯文件保存到C:\test.exe):
ecl.exe make "C:\test.e" "C:\test.exe"
@文件路徑 從文件中指定命令行
如:ecl.exe @test.txt
test.txt的內容可以為:make "C:\text.e"
test.txt中的不同參數間可以用換行符分隔
錯誤代碼列表:
#define ECL_ERROR_SUCCESS 1 //處理成功
#define ECL_ERROR_OK 0 //未發生錯誤
#define ECL_ERROR_UNKNOW -1 //未定義類型的錯誤
#define ECL_ERROR_PARAM -2 //命令行有錯誤
#define ECL_ERROR_FILENOTFOUND -3 //找不到文件
#define ECL_ERROR_FILEINVALID -4 //文件無效
#define ECL_ERROR_COMPILE -5 //編譯失敗
#define ECL_ERROR_INVALIDCOMPILETYPE -6 //不支持的編譯類型
#define ECL_ERROR_ECANNOTSTART -7 //無法識別或無法運行的易語言程序
#define ECL_ERROR_CANNOTGETMENU -8 //無法獲取易語言菜單
#define ECL_ERROR_SHUTDOWN -9 //易語言意外結束
#define ECL_ERROR_STATIC -10 //靜態編譯失敗
#define ECL_ERROR_MAKELINKINI -11 //生成link.ini文件過程中出錯
#define ECL_ERROR_BMINFO -12 //老版黑月的相關xx無法定位
#define ECL_ERROR_BMCOMPILE -13 //黑月編譯失敗
#define ECL_ERROR_PASSWORD -14 //源碼密碼不正確
#define ECL_ERROR_EC -15 //缺乏易模塊
#define ECL_ERROR_ELIB -16 //缺少支持庫
#define ECL_ERROR_STARTTIMEOUT -17 //啟動易語言超時
#define ECL_ERROR_COMPILETIMEOUT -18 //編譯超時
#define ECL_ERROR_NOTSUPPORTEPK -19 //不支持易包編譯