Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我正在寻找将游戏更新为SDL2.0的步骤_C++_C_Sdl - Fatal编程技术网

C++ 我正在寻找将游戏更新为SDL2.0的步骤

C++ 我正在寻找将游戏更新为SDL2.0的步骤,c++,c,sdl,C++,C,Sdl,我正在和我的朋友一起做一个项目,我们必须更新游戏的现有版本,该版本使用SDL1.2来使用SDL2.0头文件和函数。 我想知道在将现有的源代码更新到更新的库时,我们遵循的标准过程是什么。 该代码有28个源文件和11个头文件,并广泛使用键盘和鼠标事件以及声音。 所有的源文件都使用C++和SDL,大多数源文件都是200行代码。 我有大约3个月的时间来进行更改。我想知道如何每周或2周的基础上写下我在该时间段的日程安排的基本摘要。 有谁能为我提供正确的步骤,以便我能为同样的事情制定一个时间表吗?我不知道标

我正在和我的朋友一起做一个项目,我们必须更新游戏的现有版本,该版本使用SDL1.2来使用SDL2.0头文件和函数。 我想知道在将现有的源代码更新到更新的库时,我们遵循的标准过程是什么。 该代码有28个源文件和11个头文件,并广泛使用键盘和鼠标事件以及声音。 所有的源文件都使用C++和SDL,大多数源文件都是200行代码。 我有大约3个月的时间来进行更改。我想知道如何每周或2周的基础上写下我在该时间段的日程安排的基本摘要。
有谁能为我提供正确的步骤,以便我能为同样的事情制定一个时间表吗?

我不知道标准的程序,但以下是我的想法:

总的来说,我可以想到两种方法来将现有软件移植到另一种语言、使用另一个库或对其进行任何更改;以最小的结构变化 或者有重大的结构变化

最小结构更改意味着程序的结构保持不变,并开始用另一个库中的等效项替换程序的每一位。例如,如果从glut移植到SDL,您将用SDL替换glut窗口创建,用SDL替换键盘处理等,所有这些都是独立的

这种方法速度更快,因为所有更改都是局部的小更改。您也不太可能引入bug。但结果可能不是很有效,因为程序的结构最初不是为这个新库设计的

主要结构更改意味着基于新库,您可以重写依赖于该库的大部分程序。例如,如果从C++的STL切换到C的标准库,用C中的等价物重写
string
,继续分配/释放/复制是没有意义的,因为您的方法应该是根本不同的

这种方法需要做更多的工作,但最终会给你更好的质量



回到您的特定案例,我不确定SDL2与SDL1.2有多大不同,但我猜它并没有根本的不同。因此,我认为第一种方法应该适用于你的情况。也就是说,您应该在SDL 2中计算出SDL 1.2中的等价物,并在代码中相应地替换它们。

等等,游戏只有~6 KLOC?我不确定你是否能把日程安排实际延长到三个月……;)听起来是个不错的暑期项目