c++ - 我可以在没有 C++ 的情况下学习 Win32 API(仅使用 C)吗?

标签 c++ c winapi

很抱歉问了一个奇怪的问题。我用谷歌搜索并在此处查找解决方案,但没有一个答案满足我实际想要的。

这个问题我真的很困惑。我学习安全工作已经快两年了。所以,我对 Python 和 C 有很好的了解。

我推荐的公司建议我了解 Win32。但当我开始了解它时,我遇到了Win32基于C++。但我不想再浪费时间去研究它。一些博客谈论 C/C++ 中的 Windows 编程,这让我更加困惑,因为我认为 C 和 C++ 本质上是相互独立的。

我的问题是:

  1. 我可以只用 C 来学习 Win32 吗?

  2. 如果没有,那我可以通过 C 来学习吗?

  3. 如果是,我必须深入到多深(所以,它的所有上下文或具体内容)?

再次抱歉。我现在真的很困惑,不知道自己要做什么。

最佳答案

据我所知 - 是的,这应该是可能的。较旧的 Windows API 实际上是基于 C 的,这是我 20 年前自己学到的。它们非常简单。较新的都是基于 COM 的,这在 C 中要做起来有点麻烦,但绝不是不可能的。我记得读过一些关于这样做的好教程(C 中的 COM),尽管恐怕我没有任何方便的链接可以提供。

也就是说,C 和 C++ 非常接近。事实上,C++ 最初旨在成为 C 的超集 - 每个有效的 C 程序都应该是有效的 C++ 程序。现在,他们并没有完全实现这一点,但差异很微妙,并且在大多数情况下不会让您感到太困扰。因此,您不妨继续用 C 编写代码,只使用一点 C++ 来与 COM 进行交互。 C++ 编译器应该可以很好地接受这一点。

关于c++ - 我可以在没有 C++ 的情况下学习 Win32 API(仅使用 C)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58299053/

相关文章:

c++ - 在启用自动(基于扩展)选项的情况下,IAR 无法正确编译 C++ 文件

c++ - 如何检查成员方法是否被调用

c - 如何在 C 中使用 fgets 或 fscanf 拆分字符串?

windows - 如何创建 DLL 初始化例程?

c++ - 加载 HBITMAP 并将其转换为 OpenGL 纹理

c++ - 在 DLL 中调用非导出函数

c# - 如何解决 Windows Certificate app Supported "API test"test result fail

c - 使用非阻塞 MPI 函数发送矩阵的问题

c 如果字符串为空则退出

c - 如何在 C++ 中删除 ADS(备用数据流)