[英]OS X get process's memory programmatically
我試圖獲取另一個進程使用的內存。 從我閱讀的內容來看,似乎需要使用mach_vm_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_size_t size
更改為mach_vm_size_t size
,這是函數期望的類型。 然后,它會按預期進行編譯和工作(如注釋所示,以root身份運行時)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.