如何开始修改开源软件?

3
我提出这个问题是因为我需要修改一个开源软件,但我完全不知道如何开始这个项目。
以下是更多细节。 我通常在Linux上工作,并使用GNU编译器(g ++,gfortran等)和Intel编译器(icc和ifort)。我可以编写Fortran和C / C ++程序。到目前为止,我编写的项目不到10个文件(使用vim,没有IDE)。我通常单独编译它们,然后将它们放在一起作为一个可执行文件。
现在,我需要修改一个开源软件(用于科学计算的软件,没有GUI,并且读取包含所有计算参数的输入文件)。其源代码包含数百个文件,对我来说太多了。它带有一个configure脚本和一些makefile。它使用c和fortran代码(我怀疑c代码调用了一些fortran子例程)。但我还没有尝试在c / c ++中使用fortran子例程。
我需要理解它,并进行小的修改,并向软件添加一些功能或子例程作为新功能。
您能告诉我从哪里开始吗?是否有一种IDE可以将该软件“导入”为项目?或者一些方便的工具来绘制不同文件之间的连接?(首先阅读configure脚本和makefile,然后开始工作真是太可怕了。)
谢谢。

4
首先,安装ctagscscopeid-utils软件包,并为它们创建索引。查找名为main.c或类似文件并开始阅读。标签和其他工具将使导航变得更加容易。 - undefined
1
你还可以尝试使用Doxygen或类似的工具,来生成代码的概览。 - undefined
感谢sarnold和haraldkl。我打算尝试这些工具! - undefined
1个回答

3
你可以试着与项目维护者沟通,或在他们的讨论论坛上寻求指导。但不要指望他们会告诉你该如何编辑。如果你至少尝试理解源代码的运行方式和结构,特别是在我看来,你应该在更改之前了解它当前的功能,那么你更有可能得到帮助。
话虽如此,如果你需要进行的更改对其他人有用,维护者可能会将你的建议更改作为功能请求接受。

谢谢Rory。他们有一个用户论坛,而不是开发者论坛。我希望能加入他们,但还有很长的路要走。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接