Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.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类库中定义的函数,同时允许它们从非托管C++应用程序/ DLL中导入和调用? 严格地说,不能像在经典的.dll中那样导出函数,因为.NET。dll实际上不是。DLL的。您只有三个选择: 使用托管C++ 将C++类暴露为COM对象,并从C++代码中使用它们 并通过它与你的C#类互动_C#_C++_Dll_Export - Fatal编程技术网

从C#类库导出函数 我如何导出在C类库中定义的函数,同时允许它们从非托管C++应用程序/ DLL中导入和调用? 严格地说,不能像在经典的.dll中那样导出函数,因为.NET。dll实际上不是。DLL的。您只有三个选择: 使用托管C++ 将C++类暴露为COM对象,并从C++代码中使用它们 并通过它与你的C#类互动

从C#类库导出函数 我如何导出在C类库中定义的函数,同时允许它们从非托管C++应用程序/ DLL中导入和调用? 严格地说,不能像在经典的.dll中那样导出函数,因为.NET。dll实际上不是。DLL的。您只有三个选择: 使用托管C++ 将C++类暴露为COM对象,并从C++代码中使用它们 并通过它与你的C#类互动,c#,c++,dll,export,C#,C++,Dll,Export,你不会的。不支持。你可以从C++类中直接输出COM对象。 < P>你的C++应用必须通过承载CLR来开始。从.NET DLL中没有什么特别的要求。< P>您也可以为C语言库制作一个C++包装器——一个简单的托管C++ DLL,它将导入.NET方法并以本地方式导出它们。这增加了一个额外的层,但如果C#library是一个必备品,它可能会很有用 另一个选项是调整已编译程序集以导出函数。C#编译器无法做到这一点,但需要对MSIL代码稍作更改才能完成。 看一下,有一些关于这些东西如何工作的链接,以及一个

你不会的。不支持。你可以从C++类中直接输出COM对象。

< P>你的C++应用必须通过承载CLR来开始。从.NET DLL中没有什么特别的要求。

< P>您也可以为C语言库制作一个C++包装器——一个简单的托管C++ DLL,它将导入.NET方法并以本地方式导出它们。这增加了一个额外的层,但如果C#library是一个必备品,它可能会很有用

另一个选项是调整已编译程序集以导出函数。C#编译器无法做到这一点,但需要对MSIL代码稍作更改才能完成。
看一下,有一些关于这些东西如何工作的链接,以及一个自动化的工具(虽然我自己没有尝试过)。

+-2+-com互操作是一种从非托管应用程序调用托管代码的相当标准的技术。C语言库不是一个要求——事实上,我正在考虑使用托管C++来代替。我不能在主应用程序中使用CLI,但我可以使用它来编写库。这将如何改变场景?在这种情况下,你应该使用托管C++来避免不必要的黑客攻击。