是否可以从标准输入指向指针的地址
Is it possible to input an address to a pointer from stdin?
不久
前,我有一个关于一些简单的进程间通信的想法:一个进程将地址输出到指针,我将其复制到另一个进程的输入中,这会更改原始变量。
我是这样实现的:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
bool p;
cin>>p;
if(p){
int n;
n=0;
cout<<&n;
cin.get();
cin.get();
cout<<n;
}else{
int *point,n;
scanf("%p",&point);
cout<<point;
cin>>n;
*point+=n;
}
return 0;
}
我使用 scanf 是因为 cin 抱怨,并且不会编译。我尝试使用两个进程运行它,但是在我启动第二个实例并输入指针的地址(如第一个实例输出的那样(后,它冻结了。由于我只能访问Windows,因此我不知道它是否具有SIGSEGV,或者它是否做了完全不同的事情。
是我试图更改另一个进程变量的值导致它崩溃,还是其他东西阻止了我?
你不能这样做,因为第一个进程将无法访问第二个进程的内存地址空间(在常见的操作系统中,包括Windows和Linux(。
每个进程都有自己的内存,与其他进程的内存完全分开。指针值在不同进程的上下文中毫无意义,即使您设法将其传达。
相关文章:
- CUDA:统一内存和指针地址的更改
- 是否可以仅通过将分配的指针地址存储在C++中来分析内存?
- 向指针地址添加 20 个字节偏移量
- 如何理解智能指针的底层指针地址?
- 初学者问题:C++指针/地址 - 和变量之后不是以前?
- 返回数组中值的指针地址
- C++向指针地址添加 4 个字节
- 指针地址的内存偶尔更改了函数前和后返回
- 如何根据指针地址获取指针内容
- C++ 将指针地址传递给函数
- 直接从指针/地址访问数组的元素
- 如何在没有作弊引擎的情况下从其他应用程序获取指针地址?
- 如何保存指针地址,以便另一个指针可以继续处理它
- 间接寻址运算符如何返回带有运算符重载的指针地址
- 使用已删除的指针地址.据我所知,
- 如何保护类外用户可以修改的指针地址?C++
- 多个调用构造函数将更改C 中的成员指针地址
- 类对象指针的向量:如何在指针地址获得价值?C 和SDL_RECT
- Visual Studio C 2K15-在指针地址上获取错误
- 指针地址和参考混乱