青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-341  評論-2670  文章-0  trackbacks-0
    今晚在Vczh Library++3.0里面實現(xiàn)了C++調(diào)用NativeX腳本函數(shù)的單元測試代碼,這個Demo其實是從單元測試里面抽出來的。

    因為代碼可以在這里下載到,所以這里只列出當前版本C++調(diào)用NativeX腳本函數(shù)的例子。首先我們假設(shè)有下面的字符串,然后存放在const WString& code;的變量里面:
1 unit simple_function;
2 function int Add(int a, int b){
3     result=a+b;
4     exit;
5 }
6 function int Sub(int a, int b){
7     result=a-b;
8     exit;
9 }

    因為NativeX基本上是用來被更加高級的語言做編譯媒介的中間語言,或者拿來寫一點腳本引擎的庫用的,因此語法并沒有設(shè)計得十分的簡練。大部分還是從便于分析,并且接近C語言的角度出發(fā)。現(xiàn)在的NativeX支持數(shù)組、指針、自定義函數(shù)和結(jié)構(gòu)體,不過這個Demo為了顯露出本質(zhì),就簡單化了,只實現(xiàn)了一個加法函數(shù)和減法函數(shù)。

    那么假設(shè)這段代碼已經(jīng)保存在變量code里面,那么可以通過下面的方法來調(diào)用Add和Sub函數(shù):
 1 List<Ptr<LanguageAssembly>> references;
 2 List<WString> codes;
 3 List<Ptr<LanguageException>> errors;
 4 codes.Add(code);
 5 
 6 Ptr<ILanguageProvider> provider=GetNativeXProvider().provider;
 7 Ptr<LanguageAssembly> assembly=provider->Compile(references.Wrap(), codes.Wrap(), errors.Wrap());
 8 BasicLanguageMetadata* metadata=assembly->GetBasicLanguageMetadata();
 9 BasicDeclarationInfo add=metadata->GetDeclaration(0);
10 BasicDeclarationInfo sub=metadata->GetDeclaration(1);
11 
12 LanguageHost host(65536);
13 host.LoadAssembly(assembly);
14 Ptr<LanguageState> state=host.CreateState();
15 BasicFunctionExecutor<int(int,int)> addFunc(add, state);
16 BasicFunctionExecutor<int(int,int)> subFunc(sub, state);
17 
18 TEST_ASSERT(addFunc(12)==3);
19 TEST_ASSERT(subFunc(12)==-1);

    不通過BasicFunctionExecutor而想自己設(shè)置返回值指針和自己挨個把參數(shù)Push進堆棧也行,其實BasicFunctionExecutor的實現(xiàn)正是調(diào)用了這些原始接口來做到的。

    例子就分享到這里了,完整的代碼請去這里下載。
posted on 2010-04-10 23:19 陳梓瀚(vczh) 閱讀(2770) 評論(4)  編輯 收藏 引用 所屬分類: VL++3.0開發(fā)紀事

評論:
# re: Vczh Library++3.0之C++調(diào)用NativeX腳本函數(shù)Demo(就算去美帝出差也要堅持寫代碼) 2010-04-10 23:29 | Davy.xu
感覺不錯,有.NET的感覺  回復(fù)  更多評論
  
# re: Vczh Library++3.0之C++調(diào)用NativeX腳本函數(shù)Demo(就算去美帝出差也要堅持寫代碼) 2010-04-11 00:45 | expter
呵呵。。  回復(fù)  更多評論
  
# re: Vczh Library++3.0之C++調(diào)用NativeX腳本函數(shù)Demo(就算去美帝出差也要堅持寫代碼) 2010-04-11 03:34 | flair
牛逼!支持開源。就是代碼有點整齊過頭了,感覺像是機器生成的,看起來沒什么"人味",標識符也有點過于一致,以致看到一個標志符要搞清楚其是類名還是函數(shù)名還是變量名或者其他什么的,需要幾毫秒:).總之,牛逼!!  回復(fù)  更多評論
  
# re: Vczh Library++3.0之C++調(diào)用NativeX腳本函數(shù)Demo(就算去美帝出差也要堅持寫代碼) 2010-04-11 09:35 | 陳梓瀚(vczh)
@flair
嘛,你沒看清楚,我里面有六七個.h.fpm文本文件是代碼模板,對應(yīng)的那幾個頭文件就是生成的……生成工具在Tools\Fpmacro.exe,源代碼位于Tools\Fpmacro\Fpmacro.sln  回復(fù)  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产精品成人| 亚洲精品美女91| 亚洲综合另类| 国产精品亚洲综合| 久久九九热免费视频| 久久国产精品第一页| 亚洲国产女人aaa毛片在线| 亚洲福利电影| 国产精品v一区二区三区| 欧美一区二区免费观在线| 久久国产免费| 亚洲经典三级| 妖精成人www高清在线观看| 国产精品国产三级国产普通话99| 香蕉免费一区二区三区在线观看 | 在线高清一区| 亚洲动漫精品| 国产精品免费一区豆花| 美脚丝袜一区二区三区在线观看| 免费成人高清| 午夜精品偷拍| 蜜臀久久99精品久久久画质超高清 | 亚洲免费影视| 在线看无码的免费网站| 亚洲国产精品美女| 国产精品男女猛烈高潮激情| 麻豆精品在线播放| 国产精品大全| 欧美成人中文字幕| 国产精品久久二区二区| 欧美成人蜜桃| 国产精自产拍久久久久久| 欧美激情1区2区| 国产精品婷婷| 亚洲欧洲一区二区在线播放| 国产专区一区| 宅男噜噜噜66国产日韩在线观看| 在线日韩一区二区| 午夜精品www| 亚洲午夜精品久久久久久app| 久久国产免费| 欧美影院视频| 国产精品福利在线观看| 欧美激情成人在线| 黄色av一区| 亚洲欧美综合精品久久成人 | 国产精品欧美经典| 亚洲欧洲一区二区在线播放| 又紧又大又爽精品一区二区| 欧美一区二区精美| 性一交一乱一区二区洋洋av| 欧美日韩精品不卡| 亚洲国产一区二区a毛片| 国产主播精品在线| 欧美亚洲在线观看| 欧美在线地址| 国产欧美91| 一本色道**综合亚洲精品蜜桃冫| 亚洲国产美女久久久久| 久久久水蜜桃av免费网站| 欧美一区二区视频97| 国产精品二区在线| 9人人澡人人爽人人精品| 一区二区精品在线观看| 欧美日韩视频专区在线播放 | 欧美成人性生活| 影音先锋中文字幕一区| 久久国产精品高清| 久久综合图片| 亚洲娇小video精品| 欧美高潮视频| 亚洲人成在线播放| 亚洲视频一二| 国产精品丝袜xxxxxxx| 亚洲欧美激情视频| 久久蜜桃av一区精品变态类天堂| 韩国美女久久| 老**午夜毛片一区二区三区| 亚洲福利国产精品| 亚洲素人一区二区| 国产欧美日韩一区二区三区在线| 午夜欧美不卡精品aaaaa| 久久天天狠狠| 日韩视频在线观看| 国产精品久久久免费| 性欧美在线看片a免费观看| 久久伊人亚洲| 99re6热只有精品免费观看| 欧美日韩精品一区二区三区四区 | 欧美88av| 亚洲伦理久久| 国产女精品视频网站免费| 久久九九国产精品怡红院| 欧美激情片在线观看| 中文久久乱码一区二区| 国内外成人免费激情在线视频| 鲁大师成人一区二区三区 | 免费日韩av电影| 亚洲视频免费看| 国产在线高清精品| 欧美国产大片| 欧美在线播放高清精品| 欧美激情日韩| 欧美在线999| 99国产精品一区| 韩国av一区二区三区在线观看| 免费中文字幕日韩欧美| 亚洲欧美国产日韩中文字幕| 亚洲成色777777在线观看影院| 亚洲专区免费| 亚洲裸体在线观看| 国产日韩欧美中文在线播放| 欧美激情精品久久久久久久变态| 午夜精品电影| 99精品久久久| 亚洲国产成人精品久久久国产成人一区| 亚洲欧美日韩精品久久亚洲区 | 亚洲国产精品成人一区二区| 国产精品a久久久久| 女同性一区二区三区人了人一| 午夜精品久久久久久久| 欧美国产国产综合| 久久久久久亚洲精品杨幂换脸| 日韩一区二区免费看| 亚洲第一区色| 国内在线观看一区二区三区| 国产精品久久久久久久久搜平片 | 欧美一区二区视频在线观看| 一本色道精品久久一区二区三区| 欧美国产日本在线| 嫩草影视亚洲| 免费不卡欧美自拍视频| 久久精品一区| 久久国产精品免费一区| 欧美在线播放一区| 欧美一级久久久久久久大片| 亚洲欧美国产精品桃花| 亚洲一区二区三区精品在线| 宅男噜噜噜66一区二区66| 亚洲精品美女久久久久| 亚洲精品综合在线| 9色精品在线| 夜夜嗨av一区二区三区网站四季av| 激情综合色综合久久综合| 国产午夜一区二区三区| 国产日韩欧美自拍| 国产在线精品成人一区二区三区| 国产麻豆日韩| 很黄很黄激情成人| 激情欧美丁香| 亚洲精品一二区| 一区二区三区高清| 亚洲女人小视频在线观看| 亚洲视频专区在线| 亚洲欧美日韩综合一区| 欧美一区二区高清在线观看| 欧美一区二区三区免费视频| 久久riav二区三区| 久久亚洲不卡| 欧美护士18xxxxhd| 亚洲欧洲一区二区三区在线观看| 99pao成人国产永久免费视频| 一区二区三区国产| 午夜精品福利视频| 久久久久久久精| 欧美成人日本| 国产精品国色综合久久| 国产一区二区在线观看免费| 精品91在线| 亚洲激情欧美| 中日韩美女免费视频网站在线观看| 校园春色综合网| 美女国内精品自产拍在线播放| 亚洲国产精品成人| 亚洲欧美激情四射在线日| 久久久久久穴| 欧美日韩麻豆| 国产视频在线观看一区二区三区| 在线免费日韩片| 亚洲一区二区在线| 欧美.www| 一本色道久久加勒比88综合| 亚洲欧美美女| 欧美精品18+| 国产欧美一区二区三区在线老狼| 最新日韩精品| 欧美一区二区成人| 亚洲激情欧美| 欧美一区二区三区免费观看| 欧美日韩亚洲精品内裤| 极品少妇一区二区三区精品视频| 在线中文字幕一区| 欧美成人一区二区在线| 欧美亚洲午夜视频在线观看| 欧美精品激情| 亚洲福利精品| 久久米奇亚洲| 亚洲在线中文字幕| 欧美区在线播放| 亚洲激情视频|