91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

五莲县| 黑山县| 七台河市| 玉田县| 长汀县| 陆川县| 荆门市| 汕尾市| 广宗县| 额敏县| 贵德县| 永新县| 刚察县| 崇明县| 绥阳县| 九江市| 合川市| 翁牛特旗| 庆阳市| 柘城县| 富蕴县| 牡丹江市| 三台县| 夏河县| 南宫市| 安溪县| 义马市| 九寨沟县| 台北县| 互助| 邹城市| 金阳县| 凤山县| 滁州市| 金湖县| 皮山县| 新龙县| 云梦县| 长治县| 荆州市| 任丘市|