Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从C++创建COM对象? < >我想从C++代码中创建一个DLL,在C.使用它有一个C++实现COM对象的解决方案吗? 我不想使用System.Runtime.InteropServices 当然,你也可以用C++编写COM+对象。p>_C#_C++_Com_Dllexport - Fatal编程技术网

C# 从C++创建COM对象? < >我想从C++代码中创建一个DLL,在C.使用它有一个C++实现COM对象的解决方案吗? 我不想使用System.Runtime.InteropServices 当然,你也可以用C++编写COM+对象。p>

C# 从C++创建COM对象? < >我想从C++代码中创建一个DLL,在C.使用它有一个C++实现COM对象的解决方案吗? 我不想使用System.Runtime.InteropServices 当然,你也可以用C++编写COM+对象。p>,c#,c++,com,dllexport,C#,C++,Com,Dllexport,您可以直接编写COM,查看@Darin Dimitrov的答案,但也可以使用。我最喜欢的解决方案是将C++代码暴露给没有COM的C,但是使用.< /P> < P>你可以使用ATL,它太简单了,你只需要登记DLL。在这之后,您可以在所有c程序中使用它。有3种方法 1使用C中的PInvoke调用本机方法 2使用C++-CLI创建一个向C公开本机功能的层。这是我推荐的性能方面的方法 3将C++ DLL写入COM对象,C访问需要COM知识,因此需要开发费用。

您可以直接编写COM,查看@Darin Dimitrov的答案,但也可以使用。我最喜欢的解决方案是将C++代码暴露给没有COM的C,但是使用.< /P> < P>你可以使用ATL,它太简单了,你只需要登记DLL。在这之后,您可以在所有c程序中使用它。有3种方法

1使用C中的PInvoke调用本机方法

2使用C++-CLI创建一个向C公开本机功能的层。这是我推荐的性能方面的方法

3将C++ DLL写入COM对象,C访问需要COM知识,因此需要开发费用。