首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PInvoke和double*

PInvoke和double*
EN

Stack Overflow用户
提问于 2012-06-26 03:49:53
回答 1查看 988关注 0票数 1

如果这是一个复制品,我很抱歉。我正在编写一个需要与旧的c++非托管动态链接库交互的类。有一种方法我很难映射到托管代码:

代码语言:javascript
复制
long DoSomething(int id, double* points, long numberOfPoints, bool useShaping)

到目前为止,我还无法将其映射到不抛出堆栈不平衡异常的外部方法。问题出在双指针上。方法签名将在托管代码中查找什么?以下是我尝试过的方法,但不能作为示例。

代码语言:javascript
复制
[DllImport("Something.Dll", EntryPoint = "DoSomething")]
public static extern long DoSomething(int id, double[] points, long numberOfPoints, bool useShaping)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-26 03:55:53

可能有两个问题-

这很可能需要将C++映射中的调用convention.

  • "long“指定为C#

中的”“

尝试以下操作:

代码语言:javascript
复制
[DllImport("Something.Dll", EntryPoint = "DoSomething", CallingConvention=CallingConvention.Cdecl)]
public static extern int DoSomething(int id, double[] points, int numberOfPoints, bool useShaping);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11196310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档