• <tbody id="9je1r"></tbody><tbody id="9je1r"><acronym id="9je1r"><rp id="9je1r"></rp></acronym></tbody>
      • <acronym id="9je1r"><acronym id="9je1r"><rp id="9je1r"></rp></acronym></acronym>

        亚洲无码Aⅴ,视频1页精品,欧美系列一区二区,曰韩色999

        用JScript創(chuàng)建.exe或.dll文件,如果用JScript來創(chuàng)建dll文件和exe文件

        2012/3/14 10:47:09   閱讀:2540    發(fā)布者:2540

        什么是 JScript?

        JScript 是由微軟開發(fā)的活動腳本語言,基于 ECMAScript 規(guī)范實現(xiàn)。Internet Explorer 中的 javascript,實際上是指 JScript。JScript 已被 Windows Script Host(WSH)支持。JScript 最新的版本(JScript.NET)基于尚未定稿的 ECMAScript 4.0 ,并且可以在.Net環(huán)境下編譯。

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

        為了方便使用,我們可以將 JScriptCompiler 的路徑加入到環(huán)境變量(環(huán)境變量 –> 系統(tǒng)變量 –> Path)中。在 CMD 程序運行窗口中直接調用命令 “jsc”,就可以看到編譯器相關的幫助選項。

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

        JScript 編譯器選項

        – 輸出文件 -
        /out: 指定二進制輸出文件的名稱
        /t[arget]:exe 創(chuàng)建控制臺應用程序(默認)
        /t[arget]:winexe 創(chuàng)建 Windows 應用程序
        /t[arget]:library 創(chuàng)建庫程序集
        /platform: 限制此代碼可以在其上運行的平臺;必須是 x86、Itanium、x64 或 anycpu。默認為 anycpu

        – 輸入文件 -
        /autoref[+|-] 基于導入的命名空間和完全限定名稱自動引用程序集(默認情
        況下為 on)
        /lib: 指定要在其中搜索引用的附加目錄
        /r[eference]: 從指定的程序集文件引用元數(shù)據(jù) : [;...]

        – 資源 -
        /win32res: 指定 Win32 資源文件(.res)
        /res[ource]: 嵌入指定的資源 : [,[,public|private]]
        /linkres[ource]: 將指定的資源鏈接到此程序集 : [,[,public|private]]

        – 代碼生成 -
        /debug[+|-] 發(fā)出調試信息
        /fast[+|-] 禁用語言功能以使代碼更好地生成
        /warnaserror[+|-] 將警告視為錯誤
        /w[arn]: 設置警告等級(0-4)

        – 雜項 -
        @ 有關更多選項,請閱讀響應文件
        /? 顯示幫助
        /help 顯示幫助
        /d[efine]: 定義條件編譯符號
        /nologo 不顯示編譯器版權標志
        /print[+|-] 提供 print() 函數(shù)

        – 高級 -
        /codepage: 使用指定的代碼頁 ID 打開源文件
        /lcid: 將指定的 LCID 用于消息和默認代碼頁
        /nostdlib[+|-] 不導入標準庫(mscorlib.dll)并將 autoref 默認值更改為 off
        /utf8output[+|-] 以 UTF-8 字符編碼形式發(fā)出編譯器輸出
        /versionsafe[+|-] 為沒有標記為“override”或“hide”的成員指定默認值

        創(chuàng)建 .exe 文件

        先創(chuàng)建 JS 文件(C: esthelloWorld.js),內容如下:

        var date = new Date();
        print(Hello World!
        Today is  + date );
        接著我們進行編譯:

        C: est>jsc helloWorld.js
        Microsoft (R) JScript Compiler version 8.00.50727
        for Microsoft (R) .NET Framework version 2.0.50727
        Copyright (C) Microsoft Corporation 1996-2005。保留所有權利。
        你會驚訝的發(fā)現(xiàn),C: est 目錄下多了個 helloWorld.exe 文件,非常簡單吧,呵呵

        最后我們可以直接執(zhí)行 helloWorld.exe 文件:

        C: est>helloWorld
        Hello World!
        Today is Fri Jun 3 23:13:20 UTC+8 2011
        大功告成!!

        創(chuàng)建 .dll 文件

        .dll 文件的創(chuàng)建也同樣非常簡單:

        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 文件,我們可以通過創(chuàng)建新的 .exe 文件(consumer.js –> consumer.exe)以導入模塊的方式調用(類似于 Python)。

        先創(chuàng)建 consumer.js 文件:

        import LibHW;
        var hw = new LibHW.HelloWorld();
        print(hw.run());
        然后編譯 consumer.js 文件,執(zhí)行 consumer.exe:

        C: est>jsc consumer.js
        Microsoft (R) JScript Compiler version 8.00.50727
        for Microsoft (R) .NET Framework version 2.0.50727
        Copyright (C) Microsoft Corporation 1996-2005。保留所有權利。
        C: est>consumer
        Hello World!
        Today is Sat Jun 4 00:42:35 UTC+8 2011
        當然你還可以創(chuàng)建 windows 的應用,上例中的 consumer.js 文件修改如下:

        import System.Windows.Forms; // this has a MessageBox class
        import 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 的潛力無限,沒有做不到,只有想不到。

        亚洲无码Aⅴ,视频1页精品,欧美系列一区二区,曰韩色999
            • <tbody id="9je1r"></tbody><tbody id="9je1r"><acronym id="9je1r"><rp id="9je1r"></rp></acronym></tbody>
            • <acronym id="9je1r"><acronym id="9je1r"><rp id="9je1r"></rp></acronym></acronym>
              句容市| 广河县| 大荔县| 五华县| 霍山县| 太白县| 宁乡县| 怀仁县| 邵阳市| 临安市| 鄄城县| 安图县| 长治县| 灵寿县| 灵宝市| 淅川县| 拉孜县| 温州市| 郁南县| 河东区| 六安市| 藁城市| 崇明县| 平山县| 镇坪县| 开鲁县| 永济市| 宣化县| 汤阴县| 崇文区| 嘉黎县| 景德镇市| 怀集县| 彭阳县| 栾川县| 东至县| 大埔区| 嵊泗县| 铜鼓县| 临漳县| 临颍县|