• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-341  評(píng)論-2670  文章-0  trackbacks-0
            說(shuō)明:CMinus是一個(gè)讀入修改過(guò)語(yǔ)法的C源程序,然后編譯成x86指令集寫(xiě)入內(nèi)存,最后用__stdcall調(diào)用約定跟C++互相交流的腳本引擎。
            目標(biāo):CMinus的定位是中間語(yǔ)言,用于將其他語(yǔ)言編譯到CMinus上,享受本地指令帶來(lái)的好處。
            進(jìn)度:完成所有功能,但是由于指令集生成的算法不好,打算修改。
            下載:見(jiàn)這里。

            作者陳梓瀚保留對(duì)代碼的所有權(quán)利。

            結(jié)構(gòu):
                <Demo>
                    <CMinusConsole>
                        <CMinusConsole>工程文件
                        <Program>腳本文件
                <Library>
                    <Data>數(shù)據(jù)處理
                        <Data>容器
                        <Grammar2>語(yǔ)法分析器和正則表達(dá)式
                    <Script>
                        <JIT>
                            <Assembly>X86二進(jìn)制生成
                            <Intermediate>中間指令
                            <CMinus>CMinus編譯器

            <慶祝SOS團(tuán)歸來(lái)>
            posted on 2009-05-22 00:32 陳梓瀚(vczh) 閱讀(9958) 評(píng)論(24)  編輯 收藏 引用 所屬分類(lèi): JIT

            評(píng)論:
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-05-22 01:06 | kuafoo
            占個(gè)沙發(fā)看看  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-05-22 06:39 | 空明流轉(zhuǎn)
            niubi , wo deng bai jiaozhu  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-05-22 17:27 | Gohan
            很強(qiáng)大,感謝分享~  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-05-22 18:54 | 陳梓瀚(vczh)
            @空明流轉(zhuǎn)
            教主是swf不是我  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-05-23 00:53 | yindf
            拜讀啦~~  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-05-25 00:53 | 巫云
            太猛了  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-06-08 08:48 | Lo.
            建議實(shí)現(xiàn) extern char* pszName; 這樣導(dǎo)入數(shù)據(jù)的語(yǔ)法  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-06-08 08:59 | Lo.
            還有#inclue的預(yù)處理~~  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-06-08 22:44 | 陳梓瀚(vczh)
            @Lo.
            extern變量可以考慮,include就不考慮了,因?yàn)檫@個(gè)腳本是不基于文件系統(tǒng)的。  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-06-09 02:02 | Lo.
            恩 include無(wú)所謂 自己處理一下也容易  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-07-27 01:21 | zblc
            CMinus在DevC++居然編譯了10分鐘- -  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-07-28 02:27 | 陳梓瀚(vczh)
            @zblc
            那是DevC++的問(wèn)題,我在VC++才編譯了30秒。  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-08-20 23:31 | 林林
            請(qǐng)教陳兄:您的虛擬機(jī)引擎用的是真正的字節(jié)碼,還是簡(jiǎn)單的用vector里放variant類(lèi)型變量來(lái)實(shí)現(xiàn)?
            我現(xiàn)在做的只是一個(gè)超級(jí)簡(jiǎn)單的堆棧機(jī),而且堆棧是用vector里放variant變量來(lái)實(shí)現(xiàn)。感覺(jué)很土,并且速度慢!
            以后想實(shí)現(xiàn)個(gè)真正的字節(jié)碼的虛擬機(jī),但是,隨便想像了一下感覺(jué)很復(fù)雜,工作量很大!因?yàn)槿绻褩S米止?jié)碼來(lái)實(shí)現(xiàn)的話(huà),涉及到完全的二進(jìn)制位操作。指令的數(shù)量也呈指數(shù)級(jí)增長(zhǎng)。本來(lái)一個(gè)簡(jiǎn)單的push語(yǔ)句,可能就需要push_word,push_doubleword,pushbyte。
            更要命的是所有的運(yùn)算可能都需要自己根據(jù)二進(jìn)制位來(lái)實(shí)現(xiàn)。特別是浮點(diǎn)指令。頭大全邊啊!  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-08-22 09:48 | 陳梓瀚(vczh)
            @林林
            你說(shuō)的這個(gè)問(wèn)題跟字節(jié)碼沒(méi)關(guān)系,你想想就明白了。  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-08-24 04:21 | ooseven
            陳兄能不能在您的虛擬機(jī)上跑跑我的代碼
            i:=0;
            result :=0;
            while i<1000 do
            begin
            j := 0;
            while j<1000 do
            begin
            k := 0;
            while k<1000 do
            begin
            k := k+1;
            result := result + 1;
            end
            j := j+1;
            end
            i:=i+1;
            end
            才區(qū)區(qū)10億次運(yùn)算,竟然在我的虛擬機(jī)上跑了846.75秒,太傷心了!  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-08-25 00:50 | 陳梓瀚(vczh)
            @ooseven
            我那是強(qiáng)類(lèi)型的,沒(méi)有可比性  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-08-25 03:34 | ooseven
            @陳梓瀚(vczh)
            經(jīng)過(guò)了一個(gè)早上的優(yōu)化后,現(xiàn)在的結(jié)果是329.032秒,雖然還是很慢,但是已經(jīng)很開(kāi)心了!
            cpu e6600
            內(nèi)存 2g

            經(jīng)過(guò)測(cè)試,vc2008 debug下的運(yùn)行時(shí)間是2秒
            vc2008 release下的運(yùn)行時(shí)間是0秒
            天啊,太塊了!
            陳兄不削拿您的虛擬機(jī)跟我比,可以理解。但拿出來(lái)跟vc比比總不會(huì)辱沒(méi)了您的身份吧:)
            我說(shuō)的是虛擬機(jī),而不實(shí)您翻譯成機(jī)器碼后拿來(lái)比較哦   回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-08-25 03:36 | ooseven
            不過(guò)我懷疑vc做了些可恥的優(yōu)化。  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-08-28 06:18 | ooseven
            經(jīng)過(guò)了一個(gè)晚上的優(yōu)化,現(xiàn)在的耗費(fèi)的時(shí)間是152秒,哈,太開(kāi)心了  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2009-08-30 23:30 | 林林
            再優(yōu)化,結(jié)果是128秒。  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2010-03-11 00:46 | elviss
            本人也開(kāi)發(fā)了一個(gè)腳本引擎,開(kāi)放源代碼。

            Moniscript是本人定義的一個(gè)腳本,該腳本綜合了C,PHP,Matlab的語(yǔ)言?xún)?yōu)點(diǎn)而獨(dú)創(chuàng)的。
            Moniscript目前是1.0版本,還在繼續(xù)開(kāi)發(fā)之中,并且源代碼公開(kāi)。
            有興趣的朋友可以使用一下Monscript腳本工具,里面自帶了十多個(gè)源碼。
            使用以后覺(jué)得有興趣的朋友請(qǐng)加入QQ群32550793,向我索取源代碼,并希望提出意見(jiàn)建議。

            Monscript腳本工具下載網(wǎng)址:http://www.moniscript.com/download/moniscript_v1.0.zip

            論壇網(wǎng)址:http://www.moniscript.com

            Moniscript特點(diǎn):
            1. 可以?xún)?nèi)嵌于Visual C++, Visual Basic, Delphi 等語(yǔ)言中動(dòng)態(tài)解釋調(diào)用。
            2. 支持?jǐn)?shù)據(jù)類(lèi)型包括:int,double,bool,字符串,和數(shù)組,其中字符串類(lèi)型無(wú)需內(nèi)存管理
            3. 函數(shù)參數(shù)個(gè)數(shù)可變
            4. 函數(shù)可以返回多個(gè)值
            5. 支持常用的IF-ELSE,FOR,WHILE,DO-WHILE等語(yǔ)句。
            6. 可以與宿主程序進(jìn)行交互。  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2013-05-25 07:24 | Scan
            @林林
            幾個(gè)月前我的腳本還比ooseven的數(shù)據(jù)慢一倍;之后一直把lua作為比較對(duì)象,最近寫(xiě)的解釋器跑1000^3的三層循環(huán)已經(jīng)只要20秒,超過(guò)當(dāng)年ooseven的成績(jī)不少了~  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2014-02-16 01:54 | 求敗
            呵呵,支持哦!  回復(fù)  更多評(píng)論
              
            # re: 【源碼下載】JIT腳本引擎:CMinus 0.1版開(kāi)放下載 2014-10-22 07:17 | 創(chuàng)業(yè)博客
            這個(gè)引擎用起來(lái)很方便,我用到了我的業(yè)務(wù)里  回復(fù)  更多評(píng)論
              
            久久99精品国产麻豆蜜芽| 漂亮人妻被中出中文字幕久久| 亚洲AV乱码久久精品蜜桃| 亚洲精品乱码久久久久久| 国产午夜免费高清久久影院| 日本道色综合久久影院| 午夜精品久久久久9999高清| 亚洲级αV无码毛片久久精品| 精品久久久久久国产潘金莲| 精品无码久久久久久久久久| 精品综合久久久久久98| 日本福利片国产午夜久久| 久久只有这里有精品4| 国产精品久久精品| 久久婷婷五月综合成人D啪| 久久亚洲国产精品一区二区| 久久精品国产亚洲AV不卡| 国产 亚洲 欧美 另类 久久| 色婷婷久久综合中文久久蜜桃av| www亚洲欲色成人久久精品| 久久综合精品国产二区无码| 亚洲国产精品嫩草影院久久| 99久久99久久精品国产片果冻| 天天爽天天狠久久久综合麻豆| 狠狠久久综合伊人不卡| 精品少妇人妻av无码久久| 国产毛片欧美毛片久久久| 色婷婷噜噜久久国产精品12p| 久久最新精品国产| 久久夜色tv网站| 成人国内精品久久久久影院| 亚洲综合日韩久久成人AV| 囯产极品美女高潮无套久久久| 午夜福利91久久福利| 亚洲国产日韩欧美综合久久| 久久精品国产精品亚洲艾草网美妙| 99久久精品国产高清一区二区| 亚洲国产另类久久久精品小说| 日本WV一本一道久久香蕉| 要久久爱在线免费观看| 亚洲伊人久久综合影院|