我有一个旧的c ++库,并且所有方法都以pascal调用约定导出, 据我所知,C#Marshaller不支持Pascal调用约定, 我可以在c#端使用stdcall并以相反的顺序传递参数吗?
答案 0 :(得分:5)
pascal
是一个16位调用约定,在32位代码中被__stdcall
代替。保留该标识符是为了与源兼容。 CallingConvention.StdCall是pinvoke的默认设置,因此不需要特殊设置。
您可以在this post中找到有关DllImport.CallingConvention的更多信息,其中提到了pascal。