【发布时间】:2012-11-09 09:01:40
【问题描述】:
在 2000 年之前,我一直在使用 ANSI C 进行 Windows 编程。后来我改用 C++ 和 MFC,然后改用 Delphi,现在我更喜欢 C#,但我很好奇是否仍然可以使用纯 C 来访问现代版 Windows 的每个 API。
【问题讨论】:
-
考虑到 Windows 真正的 api 是 C 开头(现在仍然是),我会选择 yes。其他所有内容都只是叠加在它之上(大部分情况下)。
-
@WhozCraig 谢谢。这是我所期望的,但是微软是否有任何官方声明他们是否会在未来保留 C API?
-
查找“GDI+”作为反例。
-
官方?不是我见过的,但我不会为此屏住呼吸。我想每次他们发布 Windows SDK 时都会再次确认它,并且由于他们继续堆积其中,我会说它永远不会消失(至少在我们的有生之年)。我向你保证,如果他们曾经考虑过这个想法,即使是顺带一提,神圣的愤怒也会在他们身上盛行。确实有 数十亿 行代码需要它,而让所有这些过时的代码将有助于更快地通向 Linux/Mac,但它们已经在大出血了。
-
@librik GDI+ 有一个所谓的“平面 API”,可以从 ANSI C 访问。但是,MSDN 说“微软产品支持服务不会为直接调用平面 API 的代码提供支持。 " msdn.microsoft.com/en-us/library/windows/desktop/…