$ g++ program.cpp
$ ./a.out &
(修改了program.cpp。)
$ g++ program.cpp
如果可执行文件被覆盖,运行过程如何仍然产生准确的结果?
最佳答案
因为旧文件还存在。目录条目将指向一个新文件,但只要旧文件保持打开状态,它就会存在。一旦关闭,它最终将被删除。也就是说,在 Unix 上。在 Windows 上,您可能无法执行此操作,因为该文件已打开且无法覆盖。
关于c++ - 如果一个程序在另一个实例已经运行时编译,会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10203785/