Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从C++;_C++_Vb.net_Calling Convention - Fatal编程技术网

C++ 从C++;

C++ 从C++;,c++,vb.net,calling-convention,C++,Vb.net,Calling Convention,我有一个包含.cpp文件和.vb文件的项目。在我的一个.vb文件中,我有一个函数,我需要在.cpp文件中调用该函数。 即 在.cpp中: 在.vb中: Private Function TrueFunction() As Boolean Return true End Function 如果我尝试调用TrueFunction,它将被报告为未定义。我对这两种语言都不擅长,所以请原谅我在示例中所犯的任何错误 感谢您的帮助!谢谢大家! 那样做是不可能的。可以通过COM或C++/CLI混合模式DLL实

我有一个包含.cpp文件和.vb文件的项目。在我的一个.vb文件中,我有一个函数,我需要在.cpp文件中调用该函数。 即 在.cpp中:

在.vb中:

Private Function TrueFunction() As Boolean
Return true
End Function
如果我尝试调用TrueFunction,它将被报告为未定义。我对这两种语言都不擅长,所以请原谅我在示例中所犯的任何错误


感谢您的帮助!谢谢大家!

那样做是不可能的。可以通过COM或C++/CLI混合模式DLL实现两者的互操作。通过COM公开VB组件,然后在C++中实例化COM对象并调用此代码> TreEffys< /Cult>方法> < /P> 见:


C++和VB.NET之间有几种不同的互操作选项。它们都不涉及vb和cpp源代码之间的互操作

这是一个好主意

  • COM互操作-但同样适用于VB.NET
  • C风格的互操作(又名p/invoke)——

  • 事实并非如此。P/Invoke存在并且不是COM。是的,COM不是唯一的方法。当然,C++/CLI混合模式DLL是另一种方式。我编辑了答案。但是P/Invoke用于从.NET调用本机代码,而不是相反。
    Private Function TrueFunction() As Boolean
    Return true
    End Function