访问 C 中另一个程序的变量
Accessing a variable of the another program in C
在python中,你可以通过使用id函数来学习变量的内存位置,所以:
X = "Hello world!"
print(id(X)) # Output is equal to 139806692112112 (0x7F27483876F0)
我试图用 C 中的指针访问变量(当然另一个程序还活着):
#include <stdio.h>
int main(void){
char *x = (char *) 0x7F27483876F0;
printf("%sn", x);
return 0;
}
我编译代码,没有错误或警告,但是当我尝试正在运行的程序操作系统时,会出现分段错误。我该如何解决这个问题?
还是可能?
如今,做这样的事情越来越不可能。 使用地址空间布局随机化等功能,您无法真正判断给定程序的位置,更不用说变量将在实际内存中加载了。
最好的办法是使用某种类型的消息传递。 不知道为什么对你的问题投了反对票,但这似乎是一个合理的问题,即使这些天在技术上不可行。
相关文章:
- 有没有什么方法可以使用一个函数中定义的常量变量,也可以由c++中同一程序中的其他函数使用
- 如何在信号处理程序和普通函数中对全局变量进行互斥读写操作
- 如何声明一个可以在整个程序中使用的全局 2d 3d 4d .. 数组(堆版本)变量?
- 是否可以依赖函数范围的静态变量来执行程序关闭期间调用的方法?
- 尝试将带有值的不同变量添加到一小串程序C++中
- 为什么我的 c++ 程序检查不是初始化的变量?
- 修改程序的入口点时未调用全局变量的构造函数
- 为什么在堆栈和堆上创建变量会产生相同的程序集代码?
- C++变量在调用 x64 程序集函数后重置为 0
- C ++程序如何返回我的数组或写入全局变量
- 如何使用将字符串拆分为 for 循环中的变量的程序
- 我的 c++ 程序似乎没有发现字符串和我拥有但输入使用 getline 的变量之间的比较
- C++多线程程序:变量定义为类成员的隔离错误
- 程序如何知道静态变量是否需要初始化?
- GDB 8.1 无法在单线程简单程序中跟踪 std::string 变量的值
- 如何设置Qt应用程序以使用类Unix系统的实际环境变量?
- 需要循环帮助以迭代方式添加到程序集中的总和变量
- 声明一个变量,该变量在 c++ 或 c 中具有值,当程序终止时不会被销毁
- C vs 2017设置全局变量 - 程序仅在调试中使用断点
- 尝试打印变量.程序崩溃