1
我有一个C程序,它从不同的文件中调用几个函数,并且在编译时我将所有的目标文件链接在一起以生成二进制文件。然后我开始执行该程序。现在我想编辑各种文件的来源并编译新版本。这将覆盖旧的对象和二进制文件。在程序执行过程中编辑源代码
这样做会影响当前程序的执行吗?它现在会链接新的目标文件吗?如果我覆盖正在运行的二进制文件,这会导致执行停止,还是以其他方式影响执行?或者代码存储在一个不能在开始执行时被覆盖的地方?
我使用gcc编译我的代码。
如果我使用'system'函数调用外部程序,那么在执行期间编辑该程序会影响程序执行? – Snitse
@JTS:我很抱歉,但我很努力地理解你的问题。你想达到什么目的? – NPE
对不起,让我更清楚一点。我有一个可执行文件'foo'和一个c程序'bar.c',在'bar.c'内部,我称之为'system(“./foo”);'。我编译并运行'bar.c'。如果我现在覆盖'foo'会不会影响'bar'的执行? – Snitse