gpt4 book ai didi

delphi - 跨平台开发-Delphi 2011 : How to made a Windows-tied library cross-platform?

转载 作者:行者123 更新时间:2023-12-03 14:41:17 26 4
gpt4 key购买 nike

也许您已经知道,Delphi 的下一个版本很可能是 cross-platform 。另外,这里有一些polls关于此事。

虽然编写交叉编译器现在不是我们非常感兴趣的事情,但将 Windows 绑定(bind)的库移植到多个平台当然很感兴趣。

你可以思考,例如VCL(Delphi的标准库)。虽然它是专为 Windows 设计的,但它具有值(value),当然,有大量的代码库依赖于它。

问题是:哪种方法是使应用程序/库跨平台感知并确保平滑的转换/升级路径(当然尽可能多)的最佳方法?

我再次强调,我们不感兴趣只是进行跨平台开发的最佳方式(有人对此主题有疑问)。我们还对另一个要求感兴趣:旧代码库/安装管理。

PS:欢迎来自其他语言(例如 C/C++)的类似情况的经验和/或方法,这些被视为标准实践

提前致谢。

最佳答案

可视化组件开发人员的观点:

向您的代码添加功能级别,以便能够在不更改组件“核心”的情况下添加另一个平台。编译器有望具有平台切换功能。 (最好不止一个,相互配合工作。例如 Windows/ARM、Windows/386、OSX/Cacao/386、Linux/Gnome/386)。

布局结构可能看起来像这样。

  • ComponentJ.pas
  • Linux\ComponentJ.pas
  • Linux\Gnome\ComponentJ.pas
  • Linux\KDE\ComponentJ.pas
  • OSX\ComponentJ.pas
  • 386\ComponentJ.pas
  • ARM\ComponentJ.pas

作为应用程序开发人员:

我将首先将代码中的所有 WIN API 调用移至 Windows 目录中的一组库中,以便能够在库级别对其进行 IFDEF 并将其转换为我希望支持的另一个平台编译器变得可用,但只有当我遇到它们时。)这也将增加为新平台更轻松地添加适配器的可能性。无论如何,将可能的依赖项删除到一个中心位置都是一个很好的做法。

关于delphi - 跨平台开发-Delphi 2011 : How to made a Windows-tied library cross-platform?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1420129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com