鱼C论坛

 找回密码
 立即注册
查看: 2649|回复: 9

[已解决]C++可以直接调用WINDOWS API做程序开发吗?

[复制链接]
发表于 2018-8-17 17:04:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 luvmdy 于 2018-8-17 17:07 编辑

问题一:在WINDOWS平台下用C语言写程序的方式是C + WINDOWS API。那么C++除了用MFC,可不可以像C语言一样直接调用API来编程,即C++ + WINDOWS API?如果可以的话有没有相关参考书推荐?

问题二:用C++开发大型游戏,大家都不推荐用MFC,那好吧我用C++ + DIRECTX做图形开发总不算过时吧,但是DIRECTX只是图形函数,其他的实现要用什么?可不可以直接调用WINDOWS API?

因为想了解WINDOWS运行机制,所以优先不考虑用框架。
最佳答案
2018-8-17 17:26:22
1.可以的,WinAPI兼容C/C++
2.下面的实现还是靠的WinAPI,假如你直接调用岂不是太麻烦了??
另外MFC写一些不要求控件自绘,速度要求不高的程序还是很实用的。(MFC的主要缺陷是控件自绘麻烦还有速度慢)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-17 17:26:22 | 显示全部楼层    本楼为最佳答案   
1.可以的,WinAPI兼容C/C++
2.下面的实现还是靠的WinAPI,假如你直接调用岂不是太麻烦了??
另外MFC写一些不要求控件自绘,速度要求不高的程序还是很实用的。(MFC的主要缺陷是控件自绘麻烦还有速度慢)

点评

Windows API的声明都是C,C++是有向下兼容性的。  发表于 2018-8-17 17:31
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-17 22:14:09 | 显示全部楼层
本帖最后由 luvmdy 于 2018-8-17 22:19 编辑
无符号整形 发表于 2018-8-17 17:26
1.可以的,WinAPI兼容C/C++
2.下面的实现还是靠的WinAPI,假如你直接调用岂不是太麻烦了??
另外MFC写一 ...


有C++调用API开发的相关书籍推荐吗?

还有C++ 11和C99标准也不是全兼容,这是不是造成大家都用C+API编程的原因?

另外,如果想达成目标,那么学习是顺序是不是小甲鱼的《带你学C带你飞》->《C++快速快速入门》->《Windows程序设计(SDK)》,然后再辅以《零基础入门学习汇编语言》?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-17 22:18:02 | 显示全部楼层
luvmdy 发表于 2018-8-17 22:14
有C++调用API开发的相关书籍推荐吗?还有C++ 11和C99标准也不是全兼容,这是不是造成大家都用C+API编程的 ...

不是啊,谁说的。
cpp11.png



cpp111.png
另外C++调用API的方式与C完全一样,只不过C++有C++11的语法或许更加方便。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-17 22:22:27 | 显示全部楼层

如果想达成目标,那么学习是顺序是不是小甲鱼的《带你学C带你飞》->《C++快速快速入门》->《Windows程序设计(SDK)》,然后再辅以《零基础入门学习汇编语言》?

有相关C++调用API的书推荐吗

希望前辈能帮我梳理清所有疑惑,感激不尽!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-17 22:25:13 | 显示全部楼层
luvmdy 发表于 2018-8-17 22:22
如果想达成目标,那么学习是顺序是不是小甲鱼的《带你学C带你飞》->《C++快速快速入门》->《Windows程序设 ...
有相关C++调用API的书推荐吗

你这话有毛病啊……都说了,C++调用API的方式与C完全一样。
另外的话学习《零基础入门学习汇编语言》应该不是很必要(除非你要开发内核啊、注入什么的),因为这个很少用到。

点评

当然假如你想要成为高手的话建议学一下,最好再学学解密系列吧,很多实用指令调试的时候可能用到  发表于 2018-8-17 22:25
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-17 22:53:14 | 显示全部楼层
无符号整形 发表于 2018-8-17 22:25
你这话有毛病啊……都说了,C++调用API的方式与C完全一样。
另外的话学习《零基础入门学习汇编语言》 ...

是的,之所以有这些疑惑是源于逆向一个程序,因为在OD下看看不懂汇编指令再加上每次学C语言都在想这个内存是怎么分配的、这个运算CPU是怎么实现的,然后计算机组成原理学的云里雾里,所以才看汇编教程,突然有种茅塞顿开的感觉。其次是看到很多人逆向一个程序后,放出来的实例是C++写的,所以我开始高度重视C++。又由于没看到C++调用API的相关讨论,而大游戏好多都是C++开发,教程却多是C+API,所以才有了这些疑惑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-17 22:55:14 | 显示全部楼层
luvmdy 发表于 2018-8-17 22:53
是的,之所以有这些疑惑是源于逆向一个程序,因为在OD下看看不懂汇编指令再加上每次学C语言都在想这个内 ...

你可以试试把这些代码移植到.cpp文件里面,相信应该可以编译过的,就算有类型转换问题加一个强制转换也可以的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-30 06:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表