将指针传递给程序args中的数组

时间:2019-01-31 16:43:12

标签: c memory sharing

让我们假设有2个用C编写的程序,一个程序使用malloc分配内存,并启动第二个程序,将分配的内存地址和大小作为参数。

现在的问题是,第二个程序是否有可能将第一个参数转换为指针并对其进行读/写操作。为什么,为什么不呢?

为简单起见,假定Linux为底层操作系统。

1 个答案:

答案 0 :(得分:0)

否,因为在现代操作系统上,以用户模式运行的进程请参见Virtual Memory。相同的虚拟地址将转换为进程之间的不同物理地址或页面文件位置。

幸运的是,大多数操作系统确实具有允许进程间通信的API,因此您可以研究这些方法。 This question似乎是一个不错的起点,因为您声称自己正在Linux上工作。