c++里面怎么样根据内存地址访问这个地址的值?

我先运行intmain(){int*i=newint(5);printf("i=%p\n",i);}取到内存地址0x8767008运行下面程序intmain(){int*... 我先运行
int main() {
int *i = new int(5);
printf("i = %p\n", i);
}
取到内存地址0x8767008
运行下面程序
int main() {
int *p = (int*)0x8767008;
printf("p=%d\n", *p);
return 1;
}
编译成功,运行错误提示:Segmentation fault (core dumped)
在WIN底下写这个程序,编译老是报错,提示p = (int*)002D9C68;这样的赋值正确,在WIN下想要通过内在地址访问内在值是要怎么做呢
程序是在linx下运行的,最主要的是开始在WIN的时候在编译阶段就已经过不去了,看看网上的例子好像是在LINUX底下编译,于是就拿LINUX来编辑,结果编译成功了,运行却提示错误。本来想做一个用来储存对象的程序,运行一次,以后运行程序只要访问这个内存取到对象,就不用每次都初始化了,大家有没有什么办法呀,对象太大,每次初始化都需要一定时间
展开
 我来答
空雪梦见
2013-08-20 · TA获得超过5597个赞
知道大有可为答主
回答量:2522
采纳率:75%
帮助的人:1179万
展开全部
int main() {
int *i = new int(5);
int *p;
printf("i = %p\n", i);
scanf("%x", &p);
printf("p=%d\n", *p);
return 1;
}
如果我写 int *p = i; 你不放心的话,就自己用scanf输入吧,这样就放心了吧
你弄两个程序分别运行这样运行肯定不行,一个是进程结束后该进程的所有内存都被系统回收了,另外一个是每个不同的进程都拥有自己独立的地址空间(虚拟地址空间),就好像(不考虑跨行取现业务的情况下)你拿着农行的卡到建行取钱建行不会给你钱,你跟建行说你卡号是什么什么建行会跟你说没有这个账号,道理是一样的
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
WM_THU
2013-08-20 · TA获得超过7164个赞
知道大有可为答主
回答量:4285
采纳率:80%
帮助的人:3900万
展开全部
如果你是要这个“对象”跨程序存在,只能写文件存起来了,下次用的时候再加载。毕竟你不可能直接管理内存,更不能保证这个对象会超过进程的寿命而存在。
要不就写一个守护程序,这个程序一直运行,它的作用就是保存这个“对象”;然后其他要使用这个对象的程序用管道等机制与这个守护进程进行通信。
更多追问追答
追问
我要如何让这个程序能一直运行,有相关的命令吗?我对C++认识只是入门而已
追答
编译好以后把可执行文件拎出来,运行之,然后你只要不关闭它就可以一直运行了。。最多让它开机自启动,但linux下的具体操作我不会。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhenimei100
2013-08-20 · TA获得超过921个赞
知道小有建树答主
回答量:586
采纳率:0%
帮助的人:360万
展开全部
你把1个地址转换成int型,感觉就有问题,int占4个字节呢。我只见过:(char *)0x8767008这种形式的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
点点点循环
2013-08-20 · TA获得超过256个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:85.9万
展开全部
修改的如果是非本程序的其它程序的内存,必须获得进程ID,然后再进行获取或者更改。GetProcessMemory, ReadProcessMem等等,详细的自己查找吧。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cppqingyuan
2013-08-20 · 超过44用户采纳过TA的回答
知道答主
回答量:154
采纳率:0%
帮助的人:106万
展开全部
这是不行的,每个进程都有独立的4G虚拟内存,当程序运行的时候 系统 通过映射在物理内存中自主分配相应内存,程序员操作的都是虚拟内存
程序耗时很多都是在分配物理内存上
Linux下有四五种进程间通信你可以你查来看看,UC讲的主要就是内存分配、进程间通信、多进程(线程)等问题,很重要
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式