小编tex*_*ood的帖子

在执行期间修改二进制文件

我在开发时经常遇到这种情况,我运行一个二进制文件,a.out在后台说,因为它做了一些冗长的工作。在这样做的同时,我对生成a.outa.out再次编译的 C 代码进行了更改。到目前为止,我没有遇到任何问题。正在运行的进程a.out继续正常运行,永远不会崩溃,并且始终运行它最初启动时的旧代码。

但是,说a.out是一个巨大的文件,可能与 RAM 的大小相当。在这种情况下会发生什么?并且说它链接到一个共享对象文件,libblas.so如果我libblas.so在运行时修改了怎么办?会发生什么?

我的主要问题是 - 操作系统是否保证当我运行时a.out,原始代码将始终按照原始二进制文件正常运行,无论.so它链接到的二进制文件或文件的大小如何,即使这些.o.so文件在运行期间被修改运行?

我知道有这些问题可以解决类似的问题:https : //stackoverflow.com/questions/8506865/when-a-binary-file-runs-does-it-copy-its-entire-binary-data-into-memory -at-once如果在执行期间编辑脚本会发生什么? 如何在程序运行时进行实时更新?

这帮助我对此有更多了解,但我认为他们并没有问我到底想要什么,这是在执行期间修改二进制文件的结果的一般规则

linux binary

11
推荐指数
1
解决办法
9234
查看次数

`mv` 有能力创建目录吗?

mv如果目录不存在,则问题要求在使用时创建目录的最佳方法。我的问题是为什么这不是 的内置功能mv?是否有一些根本原因导致这不是一个好主意?

linux gnu posix mkdir mv

6
推荐指数
1
解决办法
2万
查看次数

如何在bash中交换两个命令?

假设我有命令A和命令,B但我想B在键入时运行,A反之亦然。我试过了

alias A='B'
alias B='A'
Run Code Online (Sandbox Code Playgroud)

但这似乎出于某种原因不起作用。

我该怎么做呢?

编辑:

命令B实际上已在 my 中定义为函数.bashrc,因此

alias A='command B'
alias B='command A'
Run Code Online (Sandbox Code Playgroud)

没有按照建议工作。

我想我可以更新的问题说,A而且B也可能是在bash定义的功能。

bash alias

4
推荐指数
1
解决办法
776
查看次数

标签 统计

linux ×2

alias ×1

bash ×1

binary ×1

gnu ×1

mkdir ×1

mv ×1

posix ×1