Can I Allocate a specific memory address using pointers in c++?

后端 未结 4 1742
太阳男子
太阳男子 2020-12-02 01:43

Can I Allocate a specitic memory address using pointers in c++ ?

For example: Allocate This memory address 25D4C3FA and put 4 in it.

4条回答
  •  心在旅途
    2020-12-02 02:17

    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.

    Writing to a specific address is trivial:

    char *p = (char*)0x25D4C3FA;
    *p = 4;
    

    I assume you have good reasons to want to do that.

提交回复
热议问题