MPICH-mpicc创建的可执行文件不反映代码中的更改

MPICH-mpicc创建的可执行文件不反映代码中的更改,c,compilation,executable,mpich,C,Compilation,Executable,Mpich,我遇到了一个奇怪的问题,当我编译“project_3.c”代码时,“project_3”可执行文件并没有反映代码中的新变化 我通常打字: mpicc -o project_3 project_3.c MyMPI.c -lm 为了证明代码中的新更改没有反映在可执行文件中,我尝试注释了大量代码并在vi中编写“printf(“Hello World!\n”);”,然后保存并关闭。当我编译并执行该文件时,新的更改没有反映在程序中 我试图解决的问题: 我特意在project_3.c中写了一些乱七八糟的信

我遇到了一个奇怪的问题,当我编译“project_3.c”代码时,“project_3”可执行文件并没有反映代码中的新变化

我通常打字:

mpicc -o project_3 project_3.c MyMPI.c -lm
为了证明代码中的新更改没有反映在可执行文件中,我尝试注释了大量代码并在vi中编写“printf(“Hello World!\n”);”,然后保存并关闭。当我编译并执行该文件时,新的更改没有反映在程序中

我试图解决的问题:

  • 我特意在project_3.c中写了一些乱七八糟的信,看看mpicc是否会检测到新的更改,它确实检测到了,并成功地报告了一个错误。但是,当我尝试对文件进行没有导致错误的新更改时,这些新更改没有反映在可执行文件中

  • 我键入“ls”并查看了文件夹中的所有文件,以查看是否有其他文件也被称为“project_3”。没有,但是有一个名为“project-3”,另一个名为“projct_3”。我删除了这些,但问题并没有消失

  • 我尝试删除Project3可执行文件并用mpicc重新创建它,但也没有成功

  • 我确保编译器没有报告任何会导致编译失败的错误


  • 我肯定错过了一些明显的东西,有什么想法吗?什么会导致这样的问题?

    首先,我将使用
    -echo
    运行,从您的描述中查看这件事实际上在做什么,您表示您删除了可执行文件,但它仍在运行(假设不执行另一个编译/链接)我看到了两种可能性:1)您不执行您认为正在执行的文件。2) 该文件有一个错误,这使得它可以编译,就像代码的很大一部分被注释掉一样。正是在被注释掉的部分中,你做出了改变。建议您发布代码,或者至少足够(干净地编译)显示问题您是否检查了可执行文件的时间,以确保实际生成了新的可执行文件?我没有。但我会试试那个用户3629249,谢谢你的建议。是的,我也可以发布代码,但我会先检查可执行文件的时间。