带有pascal调用约定的Pinvoke本机方法

时间:2018-08-12 16:33:49

标签: c# pinvoke stdcall

我有一个旧的c ++库,并且所有方法都以pascal调用约定导出, 据我所知,C#Marshaller不支持Pascal调用约定, 我可以在c#端使用stdcall并以相反的顺序传递参数吗?

1 个答案:

答案 0 :(得分:5)

pascal是一个16位调用约定,在32位代码中被__stdcall代替。保留该标识符是为了与源兼容。 CallingConvention.StdCall是pinvoke的默认设置,因此不需要特殊设置。

您可以在this post中找到有关DllImport.CallingConvention的更多信息,其中提到了pascal。