首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

跨越語言障礙:C++ 調用 C# DLL

     編輯:關於C++

場景

C# 調用 C++ DLL 可直接用 DllImport,但 C++ 調用 C# DLL 需啟用公共語言運行庫 (CLR) 支持。

步驟

1. 編寫 C# DLL

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

編譯生成 Csharp.dll。

2. 配置 C++ 項目

  • 項目屬性 → 配置屬性 → 一般 → 公共語言運行時支持:/clr。

3. C++ 代碼調用

#include "stdafx.h"
#using "Csharp.dll"
using namespace Csharp;

int _tmain(int argc, _TCHAR* argv[]) {
    Class1 ^a = gcnew Class1(); // 托管對象用 ^,分配用 gcnew
    printf("%s\n", a->Name);
    return 0;
}

關鍵點: 托管類型使用 ^ 控制代碼,內存由 GC 管理,需用 gcnew 分配。

運行結果

輸出: We can use C#!!

由此實現 C++ 與 C# 互操作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved