【问题标题】:Is it possible to convert vb.net source to C++?是否可以将 vb.net 源代码转换为 C++?
【发布时间】:2011-03-04 03:12:10
【问题描述】:

是否有任何工具可以将 vb.net 源代码转换为 C++,例如 gnu C++。我知道 Mono 可以将项目转移到不同的平台,但我宁愿转换源代码。 既然我们都知道 .net 使用其他编译器无法使用的自己的二进制库,那么是否有任何工具至少可以将 vb.net 转换为 C++ .net?

提前致谢

【问题讨论】:

  • 你为什么要这样做?
  • 感谢您的提问,过去三年我在 vb.net 中实现了一些很棒的项目(并不难),在演示它们时,他们更喜欢从我的工作中实现它们而不是 C++。
  • 您想要 C++ 还是托管 C++?因为 VB .net 是托管的,所以转换为非托管语言会......很尴尬。
  • “他们”??呃,为什么你/他们不能使用 VB 代码?对于正在运行的应用程序,任何像这样的转换工作似乎只是浪费了热量和光。您可以通过询问他们会为它在那里支付多少费用来限定“他们*想要它在 C++ 中的程度。如果金额为零,他们就不是很感兴趣。我能想象转换它的唯一好借口是“他们”不想在 Windows 下运行。应用程序 (SLOC) 有多大?
  • 所以你真正的问题是,“我如何从 VB.net 转换为在 iPhone 上运行的东西?”

标签: c++ vb.net


【解决方案1】:

没有工具可以将 VB .net 应用程序转换为 iPhone 应用程序。你可以从头开始。

【讨论】:

  • 从 vb.net 到 C++.Net 会比我认为的从头开始方便得多还是我错了?谢谢你的回答
  • 我添加了一个链接,为什么要寻找替代方案而不是从头开始,Joel 一直在建议。我可能错了,但是如果转换为 C++ 然后自己重​​构呢?
  • @Novemberland:您的 C++.Net 是“托管 C++”又名“C++ CLI”,因此仍然具有许多 .Net 功能(垃圾收集等)。 iOS 没有垃圾收集(除了 Objective C 显式引用计数之外)。对于自动化工具来说,移植几乎是不可能的,并且输出将是“只写”代码。
  • 首先有没有从VB.NET到C++ CLI的工具?之后好吧,我接受挑战..
  • 我知道没有工具可以从 VB .net 转换为托管 C++。但是,即使确实存在这样的工具,我也会认为它确实不值得。您将花费大量时间从 .net 运行时中解开它,我认为它根本不会为您节省任何东西。
【解决方案2】:

C、C++ 或 Objective-C 是与 VB.NET 完全不同的语言家族。此外,C++/CLI(你称之为 C++.NET)将永远不会在 iPhone 上运行新的语言义务。我认为您需要从头开始。

【讨论】:

    【解决方案3】:

    即使有这样的工具,史蒂夫乔布斯也禁止使用 TOS 中的任何工具。
    来源:http://www.engadget.com/2010/04/08/apples-iphone-lockdown-apps-must-be-written-in-one-of-three-la/

    这就是为什么不允许您使用 Adob​​e 的 iPhone 编译器的原因 - 即使它可能会将您的 Flash 代码转换为 Objective-C,但 TOS 的措辞不允许它。

    您必须从头开始编写应用程序,或者不要为 iPhone 开发。

    【讨论】:

    • 我将尝试将 C++CLI 结果转换为 iOS4 SDK 允许我编译的结果。但是从VB.NET到C++CLI如何转换呢?感谢您的回答
    • @Novemberland 我认为您没有阅读我的帖子。根据 TOS,任何类似的工具都是不允许的。如果您不喜欢该政策,请寻找其他平台进行开发。
    【解决方案4】:

    如果您想以半手动方式进行操作,请查看http://www.developerfusion.com/tools/convert/vb-to-csharp/。这将允许您复制代码并获得转换后的结果。

    我更喜欢这种方法,因为我可以看到每个代码块的冲突,然后解决它们,而不是仅仅转换整个项目。

    但我相信还有很多其他工具。

    JustMe2

    【讨论】:

    • 感谢您的回答。所有类似的问题都是从 vb 到 c#。我宁愿严格地选择 C++。我会检查你的链接再次感谢
    • 这是有充分理由的。 VB.Net 和 C# 设计为在同一平台上运行。它们的底层机制非常相似,以至于某些实用程序允许您从一种语言复制代码并将其粘贴到另一种语言中。在完全不同的环境中运行的两种任意编程语言之间的一般情况下,您无法做到这一点。
    • 我真的不明白为什么 .Net 的东西对 C++.NET 不太关心。如果从 vb 转换为 C# 是一项常见任务,对于 VB.NET 来说应该不是那么容易C++.NET 也是?
    • C#(如 Java)松散地基于 C++。因此,如果您将代码转换为 C#,您至少会有一些基本代码到位。但我认为从一开始就考虑到 C++ 的重写将是一个更好的选择。我敢肯定,Apple 人会反对任何可能曾经与 MS 相关或远程跨平台的东西......你考虑过 Android 吗?
    • 我的意图是不使用 Apple API 以外的其他 API,只是不从头开始编写
    【解决方案5】:

    你可以编译成机器码,然后用“错误”的反汇编器来反汇编它……代码将是一个可怕的混乱,当然,在上帝和人类眼中都是可憎的,但从技术上讲,它会做什么你问过。

    除此之外?不,我不这么认为。这不是那种你可以用机器做的事情,而不是像上面那样编译/反编译废话。

    【讨论】:

    • 您的回答也涉及从 VB.NET 到 C++.NET?谢谢你的回答
    【解决方案6】:

    没有 C++.NET 这样的东西。

    您可能指的是 C++CLI - 但它不会在 iPhone 上运行,因为它需要 .NET 框架,就像任何其他 .NET 语言一样。

    【讨论】:

      【解决方案7】:

      看看 NS Basic/App Studio。

      编程语言是基于 Visual Basic 的,所以很多代码应该不加改动就过来了。 IDE 的外观和感觉也很像您所习惯的。

      将更改使用外观和感觉与 iPhone 应用程序中的对象相似的对象。对于文件 I/O,支持 SQLite。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-05
        • 2021-12-26
        • 1970-01-01
        • 2018-03-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多