【发布时间】:2016-09-27 01:16:34
【问题描述】:
有什么方法可以通过 PInvoke 或 C++/CLI 调用使用 __vectorcall 调用约定的 C++ 函数?到目前为止,我的尝试表明这是不可能的(还)。我想我会在这里询问是否有人知道有创意的方式。
【问题讨论】:
标签: c# c++ command-line-interface pinvoke calling-convention
有什么方法可以通过 PInvoke 或 C++/CLI 调用使用 __vectorcall 调用约定的 C++ 函数?到目前为止,我的尝试表明这是不可能的(还)。我想我会在这里询问是否有人知道有创意的方式。
【问题讨论】:
标签: c# c++ command-line-interface pinvoke calling-convention
您可以在 C++ 中创建一个转发函数,该函数以正常方式 (cdecl) 获取其参数,然后将这些参数转发到 __vectorcall 中期望它们的函数。
【讨论】:
您不能使用 p/invoke 调用 __vectorcall,但可以使用 C++/CLI。
在 C++/CLI 中这样做并没有什么特别之处。 C++编译器有支持,你可以简单地用这个调用约定声明函数并调用它们。
【讨论】: