2017-03-16 67 views
1

Julia有没有可能读和写进程内存?我给例如在C#我的意思:Julia中的读/写进程内存

WinAPI.ReadProcessMemory(c_Process.handle, offset, buffer, size, IntPtr.Zero);

+1

在Windows上,你可以直接调用该函数。首先使用'GetModuleHandleEx'。 [这里](https://github.com/ihnorton/Win32GUIDemo.jl)就是winapi的例子。跨平台的进程中可以使用'ccall(:jl_load_dynamic_library,...)'来处理,'reinterpret' + ['unsafe_ *'](http://docs.julialang.org/en/release-0.5 /stdlib/c/#Base.unsafe_load)函数。如果这种手工描述还不够,我会试着想出一个例子。 (注意:仅用于同一进程,以跨平台的方式读取*其他进程*内存更加困难,我认为可能会更好地使用共享内存)。 –

回答

0

您可以创建一个任意指针和读取或通过写,但不推荐这种方式编程。这里有一个简短的程序seg段Julia:

julia> p = reinterpret(Ptr{Int}, 0) 
Ptr{Int64} @0x0000000000000000 

julia> unsafe_store!(p, 123) 

signal (11): Segmentation fault: 11