精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用托管C++粘合C#和C++代碼(一)

開發(fā) 后端
本篇中,首先示例講解如何在C#代碼中調(diào)用純C++模塊中的內(nèi)容。希望對(duì)你有幫助,一起來看。

關(guān)于C#C++孰優(yōu)孰劣的爭論有很多,我不太喜歡這樣的爭論,感覺好像非要置對(duì)方于死地而后快。咱們偉大的毛主席說了:百花爭放,百家齊鳴。

改革開放的總設(shè)計(jì)師鄧小平也說了:黑貓白貓,逮住老鼠就是好貓。(呵呵,扯得太遠(yuǎn)了一點(diǎn),憤青們千萬不要砸磚頭。)我想說的是:其實(shí)兩種語言都各有自己的長處,取長補(bǔ)短才是硬道理。C#在xml讀寫,數(shù)據(jù)庫操縱,界面構(gòu)造等很多方面性能卓越;C++的效率高,是底層開發(fā)的必備武器。

當(dāng)然在。NET平臺(tái)上C++/CLI的功能也越來越強(qiáng)大,可是畢竟大多數(shù)人對(duì)Managed C++不太熟悉,用起來也不是太方便(畢竟摻合的東西太多了),純粹用C++/CLI進(jìn)行開發(fā)還是比較少見的。但是我們?cè)趯?shí)際開發(fā)中完全可以通過少量的Managed C++代碼來粘合和包裝C#和C++,真正的工作主體部分由C#和C++各盡其能的去完成,發(fā)揮各自的專長,這樣一來少量的代碼就可以打開任督二脈。

本篇中,首先示例講解如何在C#代碼中調(diào)用純C++模塊中的內(nèi)容。

在本例中,C#界面調(diào)用C++的加法函數(shù),實(shí)現(xiàn)兩個(gè)字符串的相加。當(dāng)然,是使用Managed C++為橋梁。實(shí)現(xiàn)步驟如下所示:

首先,建立一個(gè)純C++的static library——PureCPPSLib,其中實(shí)現(xiàn)一個(gè)字符串相加的類。(步驟省略)

  1. class PureCClass  
  2. {  
  3. public:  
  4. PureCClass();  
  5. ~PureCClass(void);  
  6. public:  
  7. LPCTSTR getFirstName();  
  8. void setFirstName(LPCTSTR fistName);  
  9. LPCTSTR getLastName();  
  10. void setLastName(LPCTSTR lastName);  
  11. LPCTSTR joinName();  
  12. private:  
  13. CString m_FirstName;  
  14. CString m_LastName;  
  15. CString m_fullName;  
  16. };  
  17. PureCClass::PureCClass()  
  18. {}  
  19. PureCClass::~PureCClass(void)  
  20. {}  
  21. LPCTSTR PureCClass::getFirstName()  
  22. {  
  23. return (LPCTSTR)m_FirstName;  
  24. }  
  25. void PureCClass::setFirstName(LPCTSTR fistName)  
  26. {  
  27. m_FirstName = fistName;  
  28. }  
  29. LPCTSTR PureCClass::getLastName()  
  30. {  
  31. return (LPCTSTR)m_LastName;  
  32. }  
  33. void PureCClass::setLastName(LPCTSTR lastName)  
  34. {  
  35. m_LastName = lastName;  
  36. }  
  37. LPCTSTR PureCClass::joinName()  
  38. {  
  39. m_fullName = m_FirstName + _T(" ") +m_LastName;  
  40. return (LPCTSTR)(m_fullName);  

第二步,如下所示建立一個(gè)托管的DYNAMIC LINK LIBRARY工程——MgdLib.

 

 

托管工程中導(dǎo)入PureCPPSLib的lib文件,include類PureCClass的頭文件,構(gòu)造一個(gè)托管類——mgClass,實(shí)現(xiàn)對(duì)類PureCClass的托管包裝。該托管類放在namespace MgdLib 中。

 

 

  1. namespace MgdLib {  
  2. public ref class mgClass  
  3. {  
  4. public:  
  5. mgClass();  
  6. protected:  
  7. !mgClass();  
  8. public:  
  9. ~mgClass();  
  10. property String^ FirstName  
  11. {  
  12. String ^ get ();  
  13. void set (String ^str);  
  14. }  
  15. property String^ LastName  
  16. {  
  17. String ^ get ();  
  18. void set (String ^str);  
  19. }  
  20. String^ JoinName();  
  21. private:  
  22. PureCClass* m_pImpObj;  
  23. };  
  24. }  
  25. namespace MgdLib {  
  26. mgClass::mgClass()  
  27. {  
  28. m_pImpObj = new PureCClass();  
  29. }  
  30. mgClass::!mgClass()  
  31. {  
  32. delete m_pImpObj;  
  33. }  
  34. mgClass::~mgClass()  
  35. {  
  36. this->!mgClass();  
  37. }  
  38. String ^ mgClass::FirstName::get()  
  39. {  
  40. return gcnew String(m_pImpObj->getFirstName());  
  41. }  
  42. void mgClass::FirstName::set(String^ str)  
  43. {  
  44. pin_ptr<const WCHAR> wch = PtrToStringChars(str);  
  45. m_pImpObj->setFirstName(((std::wstring)wch).c_str());  
  46. }  
  47. String ^ mgClass::LastName::get()  
  48. {  
  49. return gcnew String(m_pImpObj->getLastName());  
  50. }  
  51. void mgClass::LastName::set(String^ str)  
  52. {  
  53. pin_ptr<const WCHAR> wch = PtrToStringChars(str);  
  54. m_pImpObj->setLastName(((std::wstring)wch).c_str());  
  55. }  
  56. String ^ mgClass::JoinName ()  
  57. {  
  58. return gcnew String(m_pImpObj->joinName());  
  59. }  

然后,建立C#界面工程。C#工程reference引用托管工程生成的MgdLib.dll,并using命名空間MgdLib,就可以實(shí)現(xiàn)對(duì)托管包裝類mgClass的調(diào)用了。(為了正確編譯,需要調(diào)整好三個(gè)工程之間的依賴關(guān)系)

三個(gè)工程的依賴關(guān)系

 

"Connect" Button 的單擊函數(shù)里添加代碼:

 

 

  1. private void btnConnect_Click(object sender, EventArgs e)  
  2. {  
  3. mgClass myC = new mgClass();  
  4. myC.FirstName = txtFirstName.Text;  
  5. myC.LastName = txtLastName.Text;  
  6. String str = myC.JoinName();  
  7. txtFullName.Text = str;  
  8. }  

 

 

最終的運(yùn)行結(jié)果:

Form1 

【編輯推薦】

  1. 如何學(xué)好C++,用好類庫很重要
  2. C/C++中動(dòng)態(tài)鏈接庫的創(chuàng)建和調(diào)用
  3. 輕松八句話 教會(huì)你完全搞定MySQL數(shù)據(jù)庫
  4. XML的基礎(chǔ)概念

 

責(zé)任編輯:于鐵 來源: blog.csdn
相關(guān)推薦

2011-05-18 18:05:47

C#C++

2010-01-25 15:55:50

托管C++

2010-01-15 18:57:58

C++CLI

2009-08-19 10:09:21

C#和C++

2009-09-04 17:34:11

C#CC++

2010-01-13 18:34:43

C++ 托管

2010-01-26 15:51:06

C++變量

2023-10-30 10:29:50

C++最小二乘法

2009-04-10 13:57:50

C#C++Java

2009-08-28 10:14:45

C#內(nèi)存泄露

2009-08-25 14:42:41

由C++轉(zhuǎn)向C#

2020-03-03 19:00:50

C語言數(shù)據(jù)科學(xué)

2011-07-14 17:45:06

CC++

2009-09-01 15:24:59

C++、C#和JAVA

2010-01-28 14:38:36

C++和C#、Java

2009-08-12 18:16:47

C#類型比較

2021-02-26 10:41:59

C++程序員代碼

2020-07-30 12:40:35

CC++編程語言

2010-01-21 10:23:53

C++代碼

2011-04-11 09:43:25

C++C
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

成人在线看视频| 久久99精品久久久久久秒播放器| 亚洲精品成人av久久| 日本一区二区三区中文字幕 | 欧美日韩激情一区二区| 在线码字幕一区| 人妻精品一区二区三区| 石原莉奈在线亚洲三区| 麻豆国产精品va在线观看不卡| 催眠调教后宫乱淫校园| 国产成人免费精品| 亚洲一卡二卡三卡四卡| 亚洲精品国产精品国自产观看| www.国产黄色| 日本美女视频一区二区| 欧美激情免费看| 日韩欧美视频免费观看| 日韩理论电影中文字幕| 91精品国产综合久久久久久漫画| 国产视频九色蝌蚪| 成人在线直播| 久久久777精品电影网影网| 91精品免费| 中文在线观看av| 亚洲激情综合| 大量国产精品视频| 国产精品久久久久久久av| 91午夜精品| 欧美日韩精品电影| 欧美色图另类小说| 超级碰碰不卡在线视频| 亚洲欧洲精品一区二区精品久久久| 国产综合 伊人色| 99久久精品日本一区二区免费 | 污网站在线免费| 性欧美又大又长又硬| 亚洲最大色网站| 在线观看国产一区| 成人精品一区二区三区免费| 99精品欧美一区二区蜜桃免费 | 一道本一区二区三区| 精品国产91久久久久久久妲己 | 日韩激情视频一区二区| 日本在线视频站| 国产无遮挡一区二区三区毛片日本| 国产精品视频免费一区| 韩国av免费在线观看| 国产精品中文字幕一区二区三区| 国产精品视频在线播放| 日韩一级在线视频| 国产日韩欧美三区| 欧美亚洲视频一区二区| 日韩精品一区二区三| 亚洲调教视频在线观看| 色综合视频网站| 欧美日韩精品一区二区三区视频播放| 先锋资源久久| 久久精品国产亚洲精品| 四虎永久免费在线| 亚洲综合专区| 色综合91久久精品中文字幕| 激情五月婷婷小说| 欧美激情视频一区二区三区在线播放 | 一级黄色片毛片| 高清精品视频| 日韩经典中文字幕| 日韩一级视频在线观看| 国产一区二区三区网| 一区二区国产精品视频| 污污视频网站在线免费观看| 91亚洲自偷观看高清| 久久亚洲精品网站| 久久久久久久久99| 在线亚洲自拍| 国产精品久久久久久搜索| 亚洲一区二区影视| 国产精品一级二级三级| 国产精品99久久久久久久| 污污网站免费在线观看| 国产肉丝袜一区二区| 亚洲欧美国产不卡| 91cn在线观看| 高跟丝袜一区二区三区| 99视频在线视频| www.久久草.com| 亚洲第一天堂无码专区| 国产熟妇久久777777| 91亚洲一区| 97成人精品视频在线观看| 免费一级a毛片| 国产麻豆精品久久一二三| 国产精品国产精品| 国产色a在线| 一区二区三区久久久| 黄色免费观看视频网站| 成年永久一区二区三区免费视频| 欧美sm美女调教| 亚洲无人区码一码二码三码的含义| 888久久久| 欧美亚洲另类视频| 99久久夜色精品国产亚洲| 97久久精品人人澡人人爽| 亚洲国产欧洲综合997久久 | 欧美hentaied在线观看| 欧美大片免费看| 国产精品欧美综合| 国产.欧美.日韩| 亚洲精品乱码视频| 91豆花视频在线播放| 欧美亚洲综合另类| 毛茸茸free性熟hd| 五月开心六月丁香综合色啪| 7777精品视频| 国产按摩一区二区三区| 国产亚洲精品7777| 岛国大片在线播放| 国产美女视频一区二区| 一区二区欧美在线| 欧美成人aaaaⅴ片在线看| 精品一区精品二区高清| 欧美国产二区| 99热99re6国产在线播放| 欧美剧情片在线观看| b站大片免费直播| 亚洲精品少妇| 国产超碰91| 国产精品刘玥久久一区| 欧美在线免费观看亚洲| 中文人妻一区二区三区| 极品尤物久久久av免费看| 亚洲自拍另类欧美丝袜| 免费在线观看黄色网| 在线精品亚洲一区二区不卡| 天堂久久久久久| 亚洲黄色影片| 国产精品加勒比| 毛片大全在线观看| 日韩久久精品一区| 91 在线视频| 久久99精品国产| 先锋影音亚洲资源| 素人一区二区三区| 亚洲人高潮女人毛茸茸| 91porny在线| 99视频一区二区| 成人免费观看cn| 欧美绝顶高潮抽搐喷水合集| 欧美精品videosex性欧美| 亚洲xxx在线| 亚洲一区二区三区在线| 91福利视频免费观看| 中文字幕免费精品| 亚洲自拍小视频| 黄页网站大全在线免费观看| 欧美va亚洲va| 可以在线观看av的网站| 久久亚区不卡日本| 国产裸体免费无遮挡| 精品国产乱码久久久久久蜜坠欲下| 日本一区二区在线播放| 国产小视频免费在线网址| 在线一区二区观看| wwwww黄色| 国产一区二区在线视频| 欧美一级中文字幕| 国产精品调教视频| 国产91精品视频在线观看| 精彩国产在线| 欧美少妇性性性| 日韩精品一区二区亚洲av性色| 国内一区二区视频| 香港三级日本三级a视频| 精品按摩偷拍| 国产91九色视频| 日本www在线观看视频| 日韩视频一区二区三区 | 国产偷自视频区视频一区二区| 久久99蜜桃综合影院免费观看| 欧美www.| 欧美精品一区二区免费| 黄片毛片在线看| 91电影在线观看| 日韩成人毛片视频| 91免费国产视频网站| 亚洲天堂网一区| 国产一区二区三区四区三区四| 乱一区二区三区在线播放| 天堂久久午夜av| 欧美精品第一页在线播放| 深夜福利在线看| 欧美精品1区2区3区| 色播视频在线播放| 欧美激情一区在线观看| 亚洲美女高潮久久久| 日韩成人一级片| 777久久精品一区二区三区无码| 日韩精品a在线观看91| 91色视频在线导航| 中文在线免费二区三区| 久久不射电影网| 国产一级免费在线观看| 亚洲成人网在线| 一区二区三区黄色片| 亚洲成人自拍网| 成人在线观看小视频| 久久亚洲欧美国产精品乐播| 日本黄色www| 日本不卡高清视频| 日本中文字幕网址| 亚洲欧美色图| 日韩av一级大片| 精品精品国产毛片在线看 | 日韩在线视频一区二区三区| 国产精品r级在线| av在线加勒比| 久久成人在线视频| 98在线视频| 亚洲精品中文字幕av| 黄色片一区二区| 在线观看91精品国产麻豆| 少妇一级淫片日本| 高跟丝袜欧美一区| 国产又大又黑又粗免费视频| 亚洲精品成人精品456| 亚洲精品国产精品国自| av色综合久久天堂av综合| 一卡二卡三卡四卡五卡| 韩日av一区二区| 中文字幕 91| 日韩国产欧美在线视频| 日批视频在线免费看| 亚洲伦理一区| 精品国产一区二区三区无码| 一区二区三区午夜探花| 懂色av一区二区三区四区五区| 狠狠操综合网| 视频三区二区一区| 国产乱码精品一区二区亚洲| 免费国产一区| 日本国产精品| 免费在线观看91| 亚洲三级网址| 日韩wuma| 成人网18免费网站| 亚洲精品影院| 99久久99视频只有精品| 中文字幕剧情在线观看一区| 日韩电影免费在线观看| 亚洲激情电影在线| 999国产精品| 最新视频 - x88av| 亚洲一级毛片| 日本男女交配视频| 欧美激情国产精品免费| 久久久高清视频| 一本色道久久综合亚洲精品高清 | 野战少妇38p| 国产成人精品www牛牛影视| 男插女视频网站| 国产精品一二三四区| 国产精品欧美性爱| 成人福利在线看| 成人精品在线观看视频| 国产无人区一区二区三区| xxxxx99| 亚洲欧美视频一区| 久久免费视频6| 欧美日韩国产中字| 樱花视频在线免费观看| 欧美日产国产精品| 亚洲精品一区二区三区新线路| 亚洲国产精品系列| 久久免费看视频| 久久九九热免费视频| 色女人在线视频| 青草成人免费视频| 香蕉久久一区| 好吊色欧美一区二区三区| 国产精品羞羞答答在线观看 | 日本免费在线观看| 欧美大片大片在线播放| 天堂av在线| 国产剧情日韩欧美| jizz性欧美23| 三区精品视频观看| 欧美一区二区| 欧美视频第一区| 国产一区二区精品在线观看| 婷婷五月精品中文字幕| 久久蜜桃香蕉精品一区二区三区| 日本黄区免费视频观看| 亚洲国产色一区| 精品国产青草久久久久96| 日韩精品影音先锋| 国产资源在线看| 欧美福利在线观看| 日韩美女在线看免费观看| 亚洲在线一区二区| 精品国产一区二区三区小蝌蚪| 黄色一级视频播放| 久久久久久久波多野高潮日日| 视频在线观看免费高清| 成人ar影院免费观看视频| 超碰人人人人人人人| 亚洲午夜一二三区视频| 亚洲综合视频在线播放| 亚洲黄页网在线观看| 欧美r级在线| 国产成人一区二区三区| 成人激情自拍| 中文字幕一区二区三区乱码| 男女精品视频| 国产精久久久久| 亚洲情趣在线观看| 中文字幕免费观看| 亚洲成人av中文字幕| 免费网站免费进入在线| 国产xxx69麻豆国语对白| 99久久婷婷国产综合精品青牛牛| 亚洲在线欧美| 天堂久久一区二区三区| 第四色在线视频| 一区二区在线看| 国产精品久久久久精| 伊人精品在线观看| 水蜜桃在线视频| 国产偷国产偷亚洲高清97cao| 亚洲视频在线免费| 日韩成人av免费| 国产精品免费免费| 做爰无遮挡三级| 国产亚洲精品一区二555| 亚洲小少妇裸体bbw| 韩国一区二区三区美女美女秀| 欧美日韩精选| 爱情岛论坛亚洲自拍| 中文字幕一区二区不卡| 中文字幕在线网站| 亚洲视频在线免费看| 深夜成人福利| 欧美在线播放一区二区| 欧美综合国产| 国产免费一区二区三区网站免费| 一本到高清视频免费精品| 三级视频在线| 日本精品免费观看| 国产伦一区二区三区| 中文字幕第80页| 国产精品久久免费看| 国产精品主播一区二区| 久久精品中文字幕一区| 日韩在线电影| 水蜜桃在线免费观看| 国产精品一区不卡| 久久久精品99| 亚洲精品www| 亚洲精品88| 五月天亚洲综合| 久久er99精品| 欧美成人片在线观看| 亚洲精品一区二区三区香蕉| 亚洲女色av| 亚洲一区在线免费| 国产精品夜夜嗨| 日产电影一区二区三区| 亚洲欧洲在线播放| 国产成人精品一区二区三区视频| 亚洲欧美日韩在线综合 | 尤物视频最新网址| 91搞黄在线观看| 麻豆tv入口在线看| 97netav| 乱码第一页成人| jizz日本在线播放| 日韩欧美国产三级| 日韩脚交footjobhdboots| 欧美亚洲免费高清在线观看| 久久国产精品一区二区| 欧美精品一级片| 亚洲色图色老头| 亚洲久草在线| 亚洲 欧美 日韩 国产综合 在线| 国产亚洲人成网站| 国产av无码专区亚洲av麻豆| 2019日本中文字幕| 成人vr资源| 精品1卡二卡三卡四卡老狼| 91久久精品一区二区三区| а天堂中文在线官网| 欧美日韩高清在线一区| 国产一区二区网址| 亚洲午夜18毛片在线看| 久久这里有精品视频| 婷婷综合一区| 欧美性猛交xx| 欧美日免费三级在线| а√在线中文在线新版| 自拍偷拍一区二区三区| 99国产精品久久久久久久久久| 亚洲视频一区在线播放|