luvmdy 发表于 2018-8-17 17:04:07

C++可以直接调用WINDOWS API做程序开发吗?

本帖最后由 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的主要缺陷是控件自绘麻烦还有速度慢)

luvmdy 发表于 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)》,然后再辅以《零基础入门学习汇编语言》?

无符号整形 发表于 2018-8-17 22:18:02

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

不是啊,谁说的。





另外C++调用API的方式与C完全一样,只不过C++有C++11的语法或许更加方便。

luvmdy 发表于 2018-8-17 22:22:27

无符号整形 发表于 2018-8-17 22:18
不是啊,谁说的。




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

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

希望前辈能帮我梳理清所有疑惑,感激不尽!

无符号整形 发表于 2018-8-17 22:25:13

luvmdy 发表于 2018-8-17 22:22
如果想达成目标,那么学习是顺序是不是小甲鱼的《带你学C带你飞》->《C++快速快速入门》->《Windows程序设 ...

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

luvmdy 发表于 2018-8-17 22:53:14

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

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

无符号整形 发表于 2018-8-17 22:55:14

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

你可以试试把这些代码移植到.cpp文件里面,相信应该可以编译过的,就算有类型转换问题加一个强制转换也可以的。
页: [1]
查看完整版本: C++可以直接调用WINDOWS API做程序开发吗?