我正在和我的朋友一起做一个项目,我们必须更新使用 SDL 1.2 的游戏的现有版本以使用 SDL 2.0 头文件和函数。我想知道在将现有源代码更新到较新的库时我们遵循的标准程序是什么。该代码有 28 个源文件和 11 个头文件,并且还广泛使用了键盘和鼠标事件以及声音。所有源文件都使用 c++ 和 sdl。大多数源文件大约 200 行代码。我有大约 3 个月的时间来进行更改。我想知道如何以每周或 2 周为基础编写该时间段的基本日程摘要。任何人都可以为我提供正确的步骤,以便我可以制定相同的时间表吗?
问问题
249 次
1 回答
0
我不知道标准程序,但这是我的想法:
一般来说,我可以想到两种方法来将现有软件移植到另一种语言、使用另一个库或对此类进行任何更改;结构变化最小或结构变化较大。
最小的结构更改意味着您保持程序结构不变,并开始用其他库中的等价物替换它的每一位。例如,如果从 glut 移植到 SDL,您将用 SDL 替换 glut 窗口创建,用 SDL 替换键盘处理等,所有这些都是独立的。
这种方法更快,因为所有的变化都是小的和局部的。您也不太可能引入错误。结果可能不是那么有效,因为程序的结构最初不是为这个新库设计的。
重大的结构变化意味着基于新库,您重写了依赖于该库的大部分程序。例如,如果从 C++ 的 STL 切换到 C 的标准库,string
那么用 C 中的等价物进行不断分配/释放/复制的重写是没有意义的,因为您的方法应该完全不同。
这种方法需要更多的工作,但最终会给你一个更好的质量。
回到您的特定情况,我不确定 SDL 2 与 SDL 1.2 有何不同,但我猜它并没有根本不同。因此,我相信第一种方法应该适用于您的情况。也就是说,您应该在 SDL 2 中计算出您在 SDL 1.2 中所做的等价物,并在您的代码中相应地替换它们。
于 2012-04-07T19:43:02.970 回答