Kernel 将指针发送到不同的进程并使用它们?

Kernel 将指针发送到不同的进程并使用它们?,kernel,core-foundation,interprocess,Kernel,Core Foundation,Interprocess,可以通过Mach IPC将指针投射到int中,然后再将其投射回对象中,从而将指针发送到对象。这会起作用吗?怎样才能做到 我想将CALayer对象发送到另一个进程。我不认为我可以通过Mach IPC发送无法工作的原始对象,因为指针特定于它们产生的进程的内存。如果您向另一个进程发送指针,如果幸运的话,它将指向无效内存。如果您运气不好,它将指向有效内存,但指向与您想要的完全不同的对象。即使这是可能的,将其强制转换为int也会破坏它,因为在Mac OS X支持的某些体系结构上,指针大于int。投射指针会

可以通过Mach IPC将指针投射到int中,然后再将其投射回对象中,从而将指针发送到对象。这会起作用吗?怎样才能做到


我想将CALayer对象发送到另一个进程。我不认为我可以通过Mach IPC发送无法工作的原始对象,因为指针特定于它们产生的进程的内存。如果您向另一个进程发送指针,如果幸运的话,它将指向无效内存。如果您运气不好,它将指向有效内存,但指向与您想要的完全不同的对象。

即使这是可能的,将其强制转换为
int
也会破坏它,因为在Mac OS X支持的某些体系结构上,指针大于
int
。投射指针会将其一部分剪掉,接收进程只接收另一部分。此外,您还可以通过Cocoa分布式对象发送Cocoa对象,这是一种比Mach端口更高级的IPC形式。