c++ - 如果一个程序在另一个实例已经运行时编译,会发生什么情况?

标签 c++

$ g++ program.cpp

$ ./a.out &

(修改了program.cpp。)

$ g++ program.cpp

如果可执行文件被覆盖,运行过程如何仍然产生准确的结果?

最佳答案

因为旧文件还存在。目录条目将指向一个新文件,但只要旧文件保持打开状态,它就会存在。一旦关闭,它最终将被删除。也就是说,在 Unix 上。在 Windows 上,您可能无法执行此操作,因为该文件已打开且无法覆盖。

关于c++ - 如果一个程序在另一个实例已经运行时编译,会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10203785/

相关文章:

c++ - gcc 的汇编输出奇怪/错误?

C++ 将那些带到零和一数组前面的最佳方法

java - 更好地表达 "if false return false"构造

c++ - 3D 网格投影到 2D 平面

c++ - 在您指定的 wxWidgets 目录中找不到匹配的调试配置。

c++ - MFC ODBC SQLConfigDataSource() 未处理的异常

c++ - 什么时候需要初始化指向 nullptr 的指针?

c++ - RDP客户端-实现时间

c++ - 尝试在 iPhone 应用程序中使用 C++

c++ - 服务器线程与人机界面 (MMI) 之间的通信