我可以使用c ++中的指针分配特定的内存地址吗? [英] Can I Allocate a specific memory address using pointers in c++?
本文介绍了我可以使用c ++中的指针分配特定的内存地址吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我可以使用c ++中的指针来分配specite内存地址吗?
Can I Allocate a specitic memory address using pointers in c++ ?
例如:分配这个内存地址25D4C3FA,并在其中放4。 $ b
For example: Allocate This memory address 25D4C3FA and put 4 in it.
推荐答案
分配过程地址空间中的特定地址有点棘手,特定于平台。在Unix系统上, mmap()
可能是你最接近的。 Windows等效项为 VirtualAlloc( )
。
Allocating a specific address in your process's address space is a bit tricky and platform-specific. On Unix systems, mmap()
is probably the closest you're going to get. The Windows equivalent is VirtualAlloc()
. There are, of course, no guarantees since the address might already be in use.
向特定地址写入是微不足道的:
char *p = (char*)0x25D4C3FA;
*p = 4;
我假设你有充分的理由想这样做。
I assume you have good reasons to want to do that.
这篇关于我可以使用c ++中的指针分配特定的内存地址吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文