首页 > 解决方案 > go - 如何让程序在执行期间覆盖自己

问题描述

我试图编写一个程序,它可以自行打开,读取自身并查找某个地址或字节以替换为其他值。

我的目标是通过在第一次运行时修改一些字节来制作一个程序来了解它是否是第一次运行(而且我真的不喜欢在我的程序之外创建文件)

可执行文件可以读取自己,但是当它尝试自我覆盖时会引发错误(其他进程使用的文件......正如预期的那样)

程序有没有办法覆盖自己?如果不是,也许我可以只修改只包含数据的程序的一部分?还有其他我不知道的简单解决方案吗?

(我同时使用 Linux 和 Windows 作为操作系统。)

标签: gooverwriteself

解决方案


据我了解,您的目标是了解该程序是否以前运行过。不要采用您提出的为什么不创建文件的想法,可以是任何文件,在运行时检查文件是否存在。如果它在那里,那么它已经在否则之前运行。


推荐阅读