C++ OSX获取过程';以编程方式存储内存
我正在尝试获取另一个进程使用的内存。据我所知,似乎我需要使用C++ OSX获取过程';以编程方式存储内存,c++,macos,memory,C++,Macos,Memory,我正在尝试获取另一个进程使用的内存。据我所知,似乎我需要使用mach\u vm\u regeion。我在一个随机论坛上找到了一些代码,并尝试编译以确保我理解它是如何工作的,但我遇到了这个错误 error: use of undeclared identifier 'mach_vm_region' kret = mach_vm_region(task, &address, &size, VM_REGION_BASIC_INFO, (vm_regio...
mach\u vm\u regeion
。我在一个随机论坛上找到了一些代码,并尝试编译以确保我理解它是如何工作的,但我遇到了这个错误
error: use of undeclared identifier 'mach_vm_region'
kret = mach_vm_region(task, &address, &size, VM_REGION_BASIC_INFO, (vm_regio...
^
1 error generated.
我使用的是OS X 10.11.2,使用clang++--std=c++11 file.cpp
编译
clang--version
返回
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.2.0
Thread model: posix
您没有正确的包含项。我发现
#include <mach/mach.h>
#include <mach/mach_vm.h>
#包括
#包括
工作。您还需要将:
vm\u size\u t size
更改为mach\u vm\u size\u t size
,这是函数所期望的类型。然后它按照预期进行编译和工作(如注释所示,以root用户身份运行)。您是否使用了正确的include?对不起,我完全忘记添加代码段了。我相信我已经具备了所有适当的条件。给你