首页 > 代码库 > 操作指定地址的宏定义

操作指定地址的宏定义

得到指定地址上的一个字节或字

 

#define MEM_B( x ) ( *( (byte *) (x) ) ) 

#define MEM_W( x ) ( *( (word *) (x) ) )

用法如下:

#include <iostream>

#include <windows.h>

#define MEM_B(x) (*((byte*)(x)))

#define MEM_W(x) (*((WORD*)(x)))

int main()

{

     int bTest = 0x123456;

     byte m = MEM_B((&bTest));/*m=0x56*/

     int n = MEM_W((&bTest));/*n=0x3456*/

     return 0;

}

在指定地址上写一个值,先把该地址转化成一个指针

#define MEM_ADDR(addr) *((volatile unsigned long *) (adr));

操作指定地址的宏定义