亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++/CLI怎么調用C#

發布時間:2021-11-30 16:52:00 來源:億速云 閱讀:389 作者:iii 欄目:編程語言

這篇文章主要講解了“C++/CLI怎么調用C#”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++/CLI怎么調用C#”吧!

跨越語言的障礙:C++/CLI 調用 C#

當C#項目需要引用C++dll的時候可以直接使用DLLIMPORT來進行調用。而反向的話,C++項目并不能簡單靠引用來使用C#DLL。因為C++項目默認配置是沒有公共語言運行庫支持的。所以我們需要更改一些配置來進行對C# dll的調用。先用托管C++(CLI)將C#的dll進行一次封裝,然后由非托管C++調用封裝好的dll。其中關鍵步驟c++/cli調用c#dll 步驟如下:

[感謝緣生夢 朋友 補充:此樣例僅做開發人員調研使用,c++ clr會和部分c++編譯選項沖突,而且不支持部分mfc外部鏈接源。]

首先我們完成C# dll開發:

namespace Csharp  {      public class Class1      {          public string Name = string.Empty;           public Class1()          {              Name = "We can use C#!!";          }      }  }

編譯就可以獲得Csharp的dll。

其次對C++項目屬性的配置: 添加公共語言運行時支持 /clr (c++/cli)

C++/CLI怎么調用C#

下一步添加新引用中選擇我們***步中編譯的Csharp.dll

C++/CLI怎么調用C#

代碼中需要使用#usingusing namespace來進行對dll的調用。當分配內存時注意使用gcnew,需要gc來給其分配內存。托管對象需要使用^來進行聲明。

#include "stdafx.h"   #using "Csharp.dll"   using namespace Csharp;   int _tmain(int argc, _TCHAR* argv[])  {      Class1 ^a = gcnew Class1();      printf("%s/n", a->Name);            return 0;  }

運行后結果如下:

C++/CLI怎么調用C#

如此便可實現C++/CLI 調用 C#dll。

至此其他項目中非托管C++代碼便可以調用該c++dll來進行對托管c#dll的調用,該dll扮演wrapper的角色。

感謝各位的閱讀,以上就是“C++/CLI怎么調用C#”的內容了,經過本文的學習后,相信大家對C++/CLI怎么調用C#這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

荃湾区| 民县| 三明市| 伊宁县| 新建县| 老河口市| 高州市| 福鼎市| 扎鲁特旗| 乌拉特中旗| 温泉县| 平乐县| 郸城县| 板桥市| 马山县| 巩留县| 兖州市| 忻州市| 天峨县| 芒康县| 姜堰市| 利川市| 六盘水市| 遵化市| 普宁市| 酒泉市| 平乡县| 方正县| 淳安县| 白山市| 张家口市| 镶黄旗| 彰武县| 安新县| 金沙县| 邛崃市| 商城县| 石家庄市| 禄丰县| 乐至县| 七台河市|