一、CLR类库
在CLR类库中实现C++/CLI和C#混合编程。CLR类库既能够被C++调用,也能够被C#引用(访问其中的托管类)。
1、C++通过C++/CLI调用C#
C#示例:
using System;
namespace CSharp
{
public class CSharpClass
{
public void Print()
{
Console.WriteLine("CSharp::CSharpClass::Print");
}
}
}
C++/CLI示例(分别是.h和.cpp):
#pragma once
#ifdef CSHARP_CALLER_EXPORTS
#define CSHARP_CALLER_API __declspec(dllexport)
#else
#define CSHARP_CALLER_API __declspec(dllimport)
#pragma comment(lib, "CLRProject.lib")
#endif // !_CSHARP_CALLER_
class CSHARP_CALLER_API CSharpCaller
{
public:
void Print();
};
#include "pch.h"
#include "CSharpCaller.h"
using namespace System;
using namespace System::Runti