0

我公司生产的软件有好几层,分为两个项目。“内层”是一个 HAL 层,直接与我们生产的硬件的驱动程序对话。这是在一个名为“xxxHAL”的 Visual Studio 项目中。该项目构建到一个静态库中。其他层一起形成一个客户端 API。这些“其他层”位于它们自己单独的 VS 项目中,并从第一个静态链接 HAL lib 文件。它们构建到我们分发的 DLL 中,以便客户可以构建自己的软件。

我的问题:

  • 将 HAL 函数分离到自己的静态库中的动机是什么?

  • 为什么要将所有这些 HAL 函数放在全局命名空间中?这如何适应 OOP 范式?

整个两个项目集是最近从头开始对旧 API 的重新设计,并且构建得非常有条理。API 设计非常面向对象,在我看来至少设计得非常好。对于最终用户来说,事情非常容易使用和清晰,所以我可以理解以这种方式构建 API 用户端软件的动机。我想我主要是觉得如果我从头开始设计软件,我会采取不同的方法。有什么想法吗?

4

1 回答 1

0

将 HAL 函数分离到自己的静态库中的动机是什么?

顾名思义就是硬件抽象层
它将项目中的其他软件组件与硬件分离。
这种松散耦合确保了跨不同硬件平台的轻松可移植性。
此外,它从硬件源代码中的任何源代码更改中抽象出软件的“其他层”。

于 2012-02-01T05:02:40.630 回答