【问题标题】:how to port VB code in C++如何在 C++ 中移植 VB 代码
【发布时间】:2013-07-21 21:17:05
【问题描述】:

我想在 win32 (C++) 中使用 VB.NET 代码(我不想转换我的代码)。我听说过在 COM 中包装 VB 代码,但我不知道该怎么做。另外,我不知道是否有替代(或更好)的方式来移植代码。

感谢任何帮助。

更新:我在vb中创建了一个类库,并将comvisible属性设置为true后保存为dll,然后将其导入我的c++项目并通过COM访问接口

*感谢大家帮助我!!!!!! *

【问题讨论】:

    标签: c++ .net vb.net winapi


    【解决方案1】:

    您不能直接从本机 C++ 应用程序调用 .NET 代码,因此需要进行一些工作。

    当然,您的问题让我们猜想为什么您想要这样做,但除非您仍要使用 .NET 应用程序中的库,否则我会很强大提倡将它(就像你的标题所暗示的那样)移植到 C++。

    但如果您不想这样做,您还有其他几个选择:

    1. 使用 C++/CLI 围绕 VB.NET 代码编写一个包装器。这可能是更简单的解决方案,特别是如果您相当熟悉 VB.NET 和 C++ 语言。

    2. 使用 <ComVisible(true)> attribute 将所需的 VB.NET 方法公开为 COM 函数。这将有点棘手,特别是如果您对 C++ 中的 COM 编程感到不舒服或不熟悉。在堆栈溢出答案中解释太多了;调查购买一本关于 COM 编程的好书。尽管您使用的是 VB.NET,但 C# 的步骤基本相同,找到examples 会更好。

    【讨论】:

    • 应该有从 VB.net 到 C# 的自动翻译器,这也可以帮助您理解等价性。
    • @Cody,谢谢'示例'链接。经过一番研究,我得到了它的工作原理'
    【解决方案2】:

    您不能直接将 VB 移植到 C++ 中,但如果您只想切换到更强大的语言并仍然使用 GUI 库,则可以查看 C#。它使用了非常相似的代码,并且快速的谷歌搜索为我提供了这个程序:C# converter。如果您真的需要 C++,您可能可以将 C# 代码转换为 C++,但实际上不需要,因为 C# 非常接近 C++。只是在谷歌上搜索我发现了这个:C++ converter

    希望对你有帮助。

    【讨论】:

    • C# 是带有花括号的 VB.NET。 C# 并不比 VB.NET 强大。它们都编译为 MSIL。
    • C# 和 C++ 之间的相似之处只是表面的(即句法上的)。您将花费大部分时间用原生 C++ 重写 .NET 库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 2010-10-17
    相关资源
    最近更新 更多