我试图将地址添加到模块基地址

HANDLE  snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pId);
   MODULEENTRY32 module;
   module.dwSize = sizeof(MODULEENTRY32);
   Module32First(snapshot, &module);


   CloseHandle(snapshot);
      DWORD addr = 0x1D4192 + (DWORD)module.modBaseAddr;


我不知道怎么了

最佳答案

如评论中所述,指针的大小取决于平台(64位或32位),而整数(int,long,long int ...)通常都是32位。将指针强制转换为整数可能会导致64位编译时精度下降,这就是发出警告的原因。

关于c++ - 从“BYTE * {aka unsigned char *}”转换为“DWORD {aka long unsigned int}”会失去精度[-fpermissive],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42245418/

10-12 16:19