将 C 转换为 Delphi - 指南

问题描述 投票:0回答:3

我正在将低级 C 库转换为 Delphi 编程语言。

  1. 我发现了很多演员。我觉得这在C世界很正常。我认为我可以安全地将它们扔掉。仅此处整数为 32 位。你觉得怎么样?

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

  3. 同样我想知道 try ..finally 和异常的成本。

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

c delphi
3个回答
3
投票

3 同样,我想知道 try ..finally 和异常的成本。

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

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

尝试……除了的成本明显更高。使用它们来响应发生的异常,但只有当您实际上可以采取一些有意义的操作时,例如反作用异常的原因,记录一些会在应用程序的更高级别丢失的特定信息等。否则让异常传播给代码的调用者,这样它就可以(最终)在更一般的层面上被捕获。

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

永远不要通过空的 except 块来“吃掉”异常

try
  ...
except
end;

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


1
投票

您可能会在以下问题的答案中找到一些有用的建议: 将 C/C++ dll 头文件转换为 Delphi 的最佳资源?

您可能还想查看 C-To-Pas 项目,该项目旨在自动化从 C 到 Delphi 的大部分转换。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.