我正在写一个C程序。我从我之前的经验中看到的是,我对我的程序的正确版本进行了一些更改,并且在更改之后,程序计算错误。
现在,有一次可能很容易发现我做出改变的地方并将其撤消或以其他方式进行,而在其他情况下,我发现很难(有劳动力)来检测问题究竟在哪里。
您能否建议一些平台或工具,让您将新版本和旧版本的程序并排放置,并标记新版本所采用的更改。
我正在使用gcc 4.3.2在Ubuntu 10.04 OS上编译c程序。
欢迎提出任何建议。
的问候, 阿努普
答案 0 :(得分:2)
使用版本控制系统。我推荐Subversion。这样您就可以将较新版本与较旧版本进行比较,以确切了解更改的内容,如果您破坏了代码,则可以恢复到旧版本。
答案 1 :(得分:2)
如果你想要一个小巧,小巧,便携,单文件的个人控制版系统,我可以推荐化石。这里有documentation。
答案 2 :(得分:0)
我会使用某些版本控制系统来执行此操作,例如 Git 。如果您是版本控制系统和/或git的新手,请参阅Git for beginners: The definitive practical guide。
答案 3 :(得分:0)
这是所有版本控制管理软件的主要目的。 我建议看看Subversion,GIT或Mercurial。
此计划有数千种互联网资源。
他们都有很好的比较程序集成在他们的GUI工具中。
答案 4 :(得分:0)
您要求的是一些类似差异的工具。有许多这样的工具,从diff
命令行实用程序到GUI前端,如http://meld.sourceforge.net/。这些工具中的大多数可以与版本控制系统(或版本对应)组合为Subversion。
答案 5 :(得分:0)
此外,尝试使用Git / Mercurial /与Dropbox一起使用,它将允许您继续在其他计算机上进行开发。它还将教你如何与他人和你自己合作。
使用较新的VCS系统(如Git和Mercurial)稍微容易一些。
答案 6 :(得分:0)
如果您使用版本控制系统,例如Git或Mercurial,,请遵循一些良好做法:
你将永远能够回到已知的良好状态。
如果您当前的更改中存在错误,则可以将当前状态与先前版本进行比较:更改行中的某处存在错误...或更改行中的某些内容发现现有错误。
如果错误是由某些已知的,未知的提交引入的,您可以使用 bisect 搜索历史记录以查找显示给定错误的第一个提交:请参阅示例git bisect
联机帮助页。
HTH