我目前正在使用Petzold的书作为资源通过Win32 API学习Windows编程,我想知道是否应该使用API中定义的类型而不是标准C类型(即char而不是CHAR,DWORD而不是无符号长)。我知道这主要是为了向后兼容,但现在使用它们有什么好处吗?
答案 0 :(得分:2)
使用Windows类型,尤其是返回值。您更有可能以这种方式编写可移植代码(即以32位和64位版本工作)。
答案 1 :(得分:2)
我只会在直接与Windows API接口的代码中使用Windows类型,即便如此,只有在您使用的类型很重要时 - 比如需要将指向该类型的指针传递给API函数,或者对于像手柄这样的半透明类型。不要开始使用INT
或DWORD
作为循环计数器变量编写for循环...
当然我可能有偏见......; - )
答案 2 :(得分:1)
When in rome...是的。它使您的代码“适合”特定的环境。
显然,如果使用MFC / COM +比仅仅进行几次WinAPI调用的(便携式)控制台应用程序更有意义。 (WinAPI调用应该仍然使用“windows类型”,IMOHO。无论如何它们已经包含在内。)
快乐的编码。