注意视频无声音:
1、下载代码: https://gitee.com/r77683962/CnC_Remastered_Collection/repository/archive/master.zip 这里边的代码跟 https://github.com/electronicarts/CnC_Remastered_Collection.git 有很小的差别,其中工程文件被我修改了下,以及STARTUP.CPP这个文件也被修改了下,其他也可能有文件被修改,不过都是细节; (需要查看具体差异推荐使用BeyondCompare工具对比差异,这样比较容易些)
本地从https://gitee.com/r77683962/CnC_Remastered_Collection/repository/archive/master.zip
下载的代码 存放在这个目录:E:\Code\CPP\RedAlert
先解压
这里边为什么要修改原来源码的代码呢,是因为源码默认是编译成dll的,不太方便,所以修改了下。
这个小窗口也是新添加的代码打印的,这个有什么用,也是调试的一种手段吧。
就是这个,类似C语言的printf,JAVA的sout等等。
2、安装VS2022(前两天我本地也安装了下),需要把C++桌面部分选择并且安装(其实VS2022用的不太熟悉); 打开VS2022 导入解压的代码
3、先编译生成RedAlert.exe这个可执行文件: CnC_Remastered_Collection-master\bin\Win32\RedAlert.exe 生成后,在代码入口处打个断点,把这个exe设置为启动项 这里的话就已经进入入口了,也可以看到变量的信息,这几个就是单步调试常用的步骤,什么进入函数、跳出函数,一步一步执行什么的。 不过要注意,在这个游戏运行的过程中,需要依赖很多的文件,源代码没有提供比如,这里:red_alert_file_path 这个文件:REDALERT.INI 实际上,还有很多,都是当时我单步调试发现的
4、可以单步调试,查看运行时期变量的值什么的,对于学习是比较有帮助的。 单步调试其实是比较消耗时间的,RedAlert.exe程序在运行的过程中很多文件都没有,会报空指针, 另一个问题,这些文件的格式我们不清楚,需要通过看代码才能明白文件具体的格式,很慢 希望这个视频给有兴趣的朋友研究学习吧。
运行中效果图:
?
?
最后,感谢观看!