当前位置:编程学习 > C#/ASP.NET >>

c#调用 非托管c++ Dll

用c#调用非托管c++ Dll,请问c#调用端支下列类型吗? 
(1)智能指针boost::shared_ptr
(2)常用类型std::vector  std::map
 (3) 自定义类型

谢谢! --------------------编程问答-------------------- 看你说的支持是什么意思。

C#或者CLR显然没有这些东西的等价类型。

但是如果你能精确解读出这些类型的内存分布,直接读出字节数组,然后用自己的程序去转换,也不是说不可以。 --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
看你说的支持是什么意思。

C#或者CLR显然没有这些东西的等价类型。

但是如果你能精确解读出这些类型的内存分布,直接读出字节数组,然后用自己的程序去转换,也不是说不可以。


也就是说,我在c++这边要是使用vector、map这些类型作为参数,都必须先转成简单的数组。
要是自定义的类做参数,必须使用指针传递吗? --------------------编程问答--------------------
引用 2 楼 yanghl03 的回复:
Quote: 引用 1 楼 caozhy 的回复:

看你说的支持是什么意思。

C#或者CLR显然没有这些东西的等价类型。

但是如果你能精确解读出这些类型的内存分布,直接读出字节数组,然后用自己的程序去转换,也不是说不可以。


也就是说,我在c++这边要是使用vector、map这些类型作为参数,都必须先转成简单的数组。
要是自定义的类做参数,必须使用指针传递吗?


我觉得在C++那边转好了比较简单,因为C#没有任何机制可以保证这种转换的准确可靠,全部要你自己掌握。

对于不定长的数据,当然指针是最好的。 --------------------编程问答--------------------
引用 3 楼 caozhy 的回复:
我觉得在C++那边转好了比较简单,因为C#没有任何机制可以保证这种转换的准确可靠,全部要你自己掌握。

对于不定长的数据,当然指针是最好的。


好的,谢谢了
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,