我问这个问题是因为我需要修改一个开源软件,而我完全不知道如何开始这个项目。
以下是更多细节。我通常在Linux上工作,使用GNU编译器(g++,gfortran等)和英特尔编译器(icc和ifort)。我会写fortran和c/c++程序。到目前为止,我写的项目只有不到10个文件(使用vim,目前还没有IDE )。我通常将它们分开编译,然后将它们放在一起作为一个可执行文件。
现在我需要修改一个开源软件(一个用于科学计算的软件。没有GUI。并读取包含所有计算参数的输入文件。)它的源代码包含数百个文件,这对我来说太多了。它确实附带了一个配置脚本和一些makefile。并且它同时使用c和fortran代码(我怀疑c代码调用了一些Fortran子例程)。但我没有尝试在c/c++中使用Fortran子例程。
我需要理解它,做一个小的修改,并在软件中添加一些功能或子例程作为新功能。
你能告诉我从哪里开始吗?是否有可以将软件作为项目“导入”的IDE?或者一些方便的工具来绘制不同文件之间的联系?(首先读取配置脚本和makefile,然后再开始工作,这太可怕了。)
谢谢。
发布于 2012-05-16 06:31:38
您可以尝试与项目的维护者交谈,或者在他们的论坛上寻求指导(如果有)。然而,不要期望他们只会告诉你想要编辑。如果你至少尝试过了解源代码在做什么以及它是如何挂在一起的,那么你更有可能得到帮助,特别是因为,至少在我看来,在你改变它之前,你真的应该了解它现在做了什么。
话虽如此,如果您需要进行的更改对其他人有用,维护人员可能会接受您提出的更改作为功能请求。
https://stackoverflow.com/questions/10609622
复制相似问题