|
|
1
4
您可能会使用 memory-mapped files 在进程之间共享数据。如果你需要调用对象上的函数,你必须使用COM或类似的东西,或者你必须实现自己的RPC协议。 |
|
|
2
4
调查 Boost::interprocess 这需要一点时间来适应,但效果很好。我在共享内存中创建了相对复杂的数据结构,这些结构在进程之间运行良好。 编辑:它也适用于内存映射文件。关键是你可以以结构化的方式使用数据;您不必将内存块(在文件或共享内存中)视为原始数据,必须仔细读/写才能保持有效状态。Boost::进程间处理这部分,您可以使用树、列表等STL容器。 |
|
|
3
1
您可以使用placement new在共享内存区域中创建对象。只要对象不使用任何指针,那就没问题。 |
|
|
4
0
它是POD还是需要能够跨流程共享单个实例?您是否考虑过使用Singleton模式(静态初始化版本,出于线程安全原因)?您还需要使用互斥体来保护并发写入和其他内容。 在Windows上,您也可以使用COM。 |
|
|
CalculusLover · 在本例中,fork()是如何工作的? 4 年前 |
|
|
jjmerelo · 使用Proc::Async从绑定管道读取 8 年前 |
|
|
jatinBatra · 编译后生成的二进制文件会发生什么情况[关闭] 8 年前 |
|
|
Jacobo · 从Java调用具有输入和输出重定向的C可执行文件 8 年前 |
|
|
Ran · 每当我尝试执行命令行提示符时,Unity就会阻塞 8 年前 |
|
|
Hatshepsut · 使用命令行参数使用region调用子流程 8 年前 |