代码之家  ›  专栏  ›  技术社区  ›  kyndigs

从C++到C语言的升级

  •  2
  • kyndigs  · 技术社区  · 14 年前

    我有一个用C++编写的大型应用程序,由于各种原因,我将在C语言中重写它,我已经做了大量的Delphi到C语言,VB到C语言,但是C++到C语言我从来没有做过,虽然我在C++中是有能力的,但是我希望它能尽可能顺利地进行转换。

    主要我要问的是,在这个转变中,我还面临着什么样的陷阱:我应该知道哪些关键领域,或者你可以给我提供什么建议。

    这篇文章很好,但还有什么我应该厌倦的吗?

    http://msdn.microsoft.com/en-us/magazine/cc301520.aspx

    5 回复  |  直到 14 年前
        1
  •  6
  •   BarsMonster    14 年前

    主要陷阱-不要认为这是升级。这些是不同的语言,在许多地方,您将需要完全不同的方法来解决问题。因此,您应该考虑用最少的代码重用重新实现。

    这篇文章很得体。

        2
  •  3
  •   user151323    14 年前

    我建议您注意对象生命周期。

    在C++中,当您完成对象时,可以显式地销毁它们。在c(.net)中,您没有。可能会发生这样的情况:一个对象持有一些重要的资源(文件句柄、数据库连接等)。如果是问题,请使用 using 指令。

        3
  •  2
  •   Dialecticus    14 年前

    你需要翻译代码的精神,而不是代码本身。你需要把所有你必须做的事情留在C++中,因为这就是它在那里做的。好的翻译是高度创造性的过程,所以要有创造性。

        4
  •  1
  •   TalkingCode    14 年前

    在开始的时候,弦的处理是我的一个陷阱。在VisualC++中,你使用指针,C语言中的方法确实返回值。

    dummy = dummy.Replace("a", "b");
    
        5
  •  1
  •   Simsons    14 年前

    如果你有C++的DLL,你想在C项目中使用它们,你可以使用它们。 pinvoke DllImport

    C++ to C# converter 这对于将C++代码转换为C语言很有好处,不过不能指望使用它来转换整个项目。