将C转换为德尔福 - 指导

时间:2010-08-03 09:39:30

标签: delphi

我正在将低级C库转换为Delphi。

  1. 我发现很多演员阵容。我认为在C World中这是正常的。我想我可以把他们扔掉。整数仅为32位。你觉得怎么样?

  2. 如果将OOP转换为对象等,OOP的开销可能是多少?

  3. 同样,我想知道尝试的成本..最后和例外。

  4. 给我任何您认为有用的提示。

3 个答案:

答案 0 :(得分:3)

  

3同样,我想知道尝试的成本..最后和例外。

尝试的成本...最终是可以忽略的,除了紧密的循环(放在周围而不是在循环中)。通过平衡所有实例化/打开/分配与免费/关闭/取消分配,使用它们来保护所有资源。

<code-to-open-a-file>
try
  ...
finally
  <code-to-close-the-file>
end;

尝试的成本......除非明显更高。使用它们来响应发生的异常,但只有当你真的可以采取一些有意义的行动时,例如计数器代表异常的原因,记录一些特定的信息,这些信息将在你的应用程序的更高级别丢失,等等。否则让异常传播对你的代码的调用者来说,它可以(最终)被捕获到更一般的级别。

永远不要让异常逃避您的应用程序或库或其中的任何线程。

永远不要“吃”异常,方法是设置一个空的除了块:

try
  ...
except
end;

实际上只有一种情况是有意义的:在记录异常的代码中捕获异常......然后总是添加注释来说明为什么要吃异常。

答案 1 :(得分:1)

您可以在SO的问题答案中找到一些有用的建议: Best resources for converting C/C++ dll headers to Delphi?

您可能还想看一下C-To-Pas project,它旨在自动完成从C到Delphi的大部分转换。

答案 2 :(得分:0)

从程序语言转向OOP是一个很大的飞跃。使用OOP有许多优点。 OOP更容易编码和维护。选择Delphi PL是一个不错的选择,因为它也可以通过插入汇编代码来访问低级别。 Try-catch用于防止程序在运行时崩溃,原因是例外。