JScript教程:使用JScript建立.exe或.dll檔案

來源:互聯網
上載者:User

文章簡介:JScript 是由微軟開發的動態指令碼處理語言,基於 ECMAScript 規範實現。Internet Explorer 中的 JavaScript,實際上是指 JScript。JScript 已被 Windows Script Host(WSH)支援。JScript 最新的版本(JScript.NET)基於尚未定稿的 ECMAScript 4.0 ,並且可以在.Net環境下編

什麼是 JScript?

JScript 是由微軟開發的動態指令碼處理語言,基於 ECMAScript 規範實現。Internet Explorer 中的 JavaScript,實際上是指 JScript。JScript 已被 Windows Script Host(WSH)支援。JScript 最新的版本(JScript.NET)基於尚未定稿的 ECMAScript 4.0 ,並且可以在.Net環境下編譯。

.NET Framwork 中包含有 JScript 編譯器 :JScriptCompiler (C:WINDOWSMicrosoft.NETFrameworkv2.0.50727jsc.exe),其可以將 JScript 檔案編譯為一個 .exe 或者 .DLL 檔案。

為了方便使用,我們可以將 JScriptCompiler 的路徑加入到環境變數(環境變數 –> 系統變數 –> Path)中。在 CMD 程式運行視窗中直接調用命令 “jsc”,就可以看到編譯器相關的協助選項。

jsc [選項] [[選項] …]

JScript 編譯器選項

– 輸出檔案 -
/out: 指定二進位輸出檔案的名稱
/t[arget]:exe 建立控制台應用程式(預設)
/t[arget]:winexe 建立 Windows 應用程式
/t[arget]:library 建立庫程式集
/platform:限制此代碼可以在其上啟動並執行平台;必須是 x86、Itanium、x64 或 anycpu。預設為 anycpu

– 輸入檔案 -
/autoref[+-] 基於匯入的命名空間和完全限定名稱自動引用程式集(預設情
況下為 on)
/lib:指定要在其中搜尋引用的附加目錄
/r[eference]: 從指定的組件檔引用中繼資料 : [;...]

– 資源 -
/win32res: 指定 Win32 資源檔(.res)
/res[ource]: 嵌入指定的資源 : [,[,publicprivate]]
/linkres[ource]: 將指定的資源連結到此程式集 : [,[,publicprivate]]

– 代碼產生 -
/debug[+-] 發出調試資訊
/fast[+-] 禁用語言功能以使代碼更好地產生
/warnaserror[+-] 將警告視為錯誤
/w[arn]: 設定警告層級(0-4)

– 雜項 -
@ 有關更多選項,請閱讀回應檔
/? 顯示協助
/help 顯示協助
/d[efine]: 定義條件編譯符號
/nologo 不顯示編譯器著作權標誌
/print[+-] 提供 print() 函數

– 進階 -
/codepage: 使用指定的字碼頁 ID 開啟源檔案
/lcid: 將指定的 LCID 用於訊息和預設字碼頁
/nostdlib[+-] 不匯入標準庫(mscorlib.dll)並將 autoref 預設值更改為 off
/utf8output[+-] 以 UTF-8 字元編碼形式發出編譯器輸出
/versionsafe[+-] 為沒有標記為“override”或“hide”的成員指定預設值

建立 .exe 檔

先建立 JS 檔案(C: esthelloWorld.js),內容如下:

var date = new Date();print(Hello World! Today is  + date );

接著我們進行編譯:

C:est>jsc helloWorld.jsMicrosoft (R) JScript Compiler version 8.00.50727for Microsoft (R) .NET Framework version 2.0.50727Copyright (C) Microsoft Corporation 1996-2005。著作權所有,並保留一切權利。

你會驚訝的發現,C: est 目錄下多了個 helloWorld.exe 檔,非常簡單吧,呵呵

最後我們可以直接執行 helloWorld.exe 檔:

C:est>helloWorldHello World!Today is Fri Jun 3 23:13:20 UTC+8 2011

大功告成!!

建立 .DLL 檔案

.DLL 檔案的建立也同樣非常簡單:

package LibHW {class HelloWorld {function run() {var date = new Date();return Hello World! Today is  + date;}}}

編譯語句:

C:est>jsc /t:library LibHW.js

對於產生的 LibHW.DLL 檔案,我們可以通過建立新的 .exe 檔(consumer.js –> consumer.exe)以匯入模組的方式調用(類似於 Python)。

先建立 consumer.js 檔案:

import LibHW;var hw = new LibHW.HelloWorld();print(hw.run());

然後編譯 consumer.js 檔案,執行 consumer.exe:

C:est>jsc consumer.jsMicrosoft (R) JScript Compiler version 8.00.50727for Microsoft (R) .NET Framework version 2.0.50727Copyright (C) Microsoft Corporation 1996-2005。著作權所有,並保留一切權利。C:est>consumerHello World!Today is Sat Jun 4 00:42:35 UTC+8 2011

當然你還可以建立 windows 的應用,上例中的 consumer.js 檔案修改如下:

import System.Windows.Forms; // this has a MessageBox classimport LibHW;var hw = new LibHW.HelloWorld();MessageBox.Show(hw.run(),"Dude!",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);

編譯語句:

C:est>jsc /t:winexe consumer.js

雙擊新產生的 consumer.exe 檔,哈哈,是不是很有成就感!

從上面的例子可以看到 JScript 的潛力無限,沒有做不到,只有想不到。

擴充閱讀:

《Make your javascript a Windows .exe》

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。