PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] 把值存到一个指定的内存位址
楼主:
unixxxx
(皓皓)
2015-01-23 17:11:35
把 整数 5 存到 0x00123456这个内存位址 并用指标指向它
请问该怎么把值存到指定的内存位址里?!
int *a;
a=00123456;
*a=5;
原本是这样打 可是编译过不了 他不会把00123456当做内存位址
应该要怎么改?!
作者:
wenyonba
(射后不理很XX啊!!!!)
2015-01-23 18:29:00
一定不行啊,你怎么知道这位址是哪,有没有其他资源占用一定要由 OS 分配给你
作者:
pizzafan
(七情三想)
2015-01-23 19:02:00
/如何取得系统总内存的位置
作者: epithet (epithet)
2015-01-23 19:13:00
int *logicalAddr = reinterpret_cast<int *>(42798);
作者:
carylorrk
(carylorrk)
2015-01-23 19:40:00
只有我觉得是那个 0 开头的关系吗XDD
作者:
wenyonba
(射后不理很XX啊!!!!)
2015-01-23 21:20:00
直接 reinterpret_cast 过去会发生什么事 ?_?
作者: epithet (epithet)
2015-01-23 22:46:00
会把 42798 存进内存里面,一段该代表变量的位置里。
作者:
L4ys
(Lays)
2015-01-24 00:05:00
应该要写 a=0x00123456; 应该会直接segmentation fault啦这个内存位置通常不可写
作者:
Killercat
(杀人猫™)
2015-01-24 02:07:00
给你个提示,在保护模式下,所有程式拿到的内存都是相对位置,只有kernel space(linux)跟Ring1以下(Win)才有机会得到绝对位置
作者:
uranusjr
(â†é€™äººæ˜¯è¶…級笨蛋)
2015-01-24 04:08:00
单芯片之类的也是有可能会这样写啦
作者:
karose
(karose)
2015-01-24 09:14:00
位址要转指标便可
作者:
carylorrk
(carylorrk)
2015-01-24 17:06:00
他也没有讲是不是有 MMU,应该可以默认不用理吧。除非是在写 kernel,才会有转换的问题。
作者:
Killercat
(杀人猫™)
2015-01-24 21:28:00
其实早期的确能透过dll共用内存位置不过那已经是很早期的windows API行为就是 :P当年不少IPC都是用这种偷吃步的方法实现的
作者:
TobyH4cker
(Toby (我要当好人))
2015-01-24 23:11:00
*(int *)ADDRESS = VALUE;不知道上面为什么扯到好远的地方去...是L4ys大大耶XDDD 先膜拜 原PO只有漏了"0x" 其他没错
作者: jaw109
2015-01-25 14:33:00
除非这位址是os配给你的,否则一定会segmentation fault
作者: tubbysong (song)
2015-01-25 17:41:00
Int *p; p=(int)0x1234 or *p=(int)0x1234
作者:
TobyH4cker
(Toby (我要当好人))
2015-01-26 04:40:00
楼上你两个式子是不同意义喔楼主只是举个例子,没有考虑范围,所以纯就问题解答
继续阅读
[问题] 共享函式库全域变量
pili100
Re: [问题] 请问C 16进制输出的问题
Push5F
[问题] 写入一个灰阶BMP档 跑不出图像
uni1021
[问题] 程式被误判为病毒?用C++与Qt编写
i78524
[问题] 请问C 16进制输出的问题
lupig
[问题] operator overloading : 矩阵乘法
skyconquer
[问题] Capture card by using Opencv
humoryong
[问题] 请教这种写法怎么改善
PowerKid
Fw: [问题] linux版本的codeblocks在哪
louisman
Re: [问题] 扔n次骰子,各种点数和的机率
bigpigbigpig
Links
booklink
Contact Us: admin [ a t ] ucptt.com