5
|
Mads Elvheim · 技术社区 · 14 年前 |
![]() |
1
11
最干净的解决方案不是直接在程序中调用Windows API函数,而是编写一个抽象层来调用所需的函数。这样,只需在少数源文件中包含Windows API头,宏就更易于管理。 这还有一个额外的好处,那就是提高代码的可移植性,因为只有一小部分代码依赖于Windows API本身,其余的代码都将调用抽象层。
既然您正在使用C++,抽象层也可以允许您将Windows API错误代码转换为异常,如果您喜欢使用异常。 抽象层也有助于使代码更容易测试(模拟抽象层比模拟部分或全部Windows API要容易得多)。 |
![]() |
2
4
公认的答案是非常好的,我建议尽可能。不幸的是,这样一个抽象层的实现是乏味的,它并不能解决整个问题。
抽象层的实现需要包含windows头文件。假设您为启用抽象层而引入的一种与平台无关的类型有一个名为
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 4 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 4 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 4 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 5 月前 |