我需要将复杂对象从一个程序传输到另一个程序。我有测试代码,它发送简单的字符串:
.
.
const wchar_t *data = L"*** Some nice string ***";
DWORD numBytesWritten = 0;
result = WriteFile(
pipe, // handle to our outbound pipe
data, // data to send
wcslen(data) * sizeof(wchar_t), // length of data to send (bytes)
&numBytesWritten, // will store actual amount of data sent
NULL // not using overlapped IO
);
.
.
这是接收方:
.
.
wchar_t buffer[128];
DWORD numBytesRead = 0;
BOOL result = ReadFile(
pipe,
buffer, // the data from the pipe will be put here
127 * sizeof(wchar_t), // number of bytes allocated
&numBytesRead, // this will store number of bytes actually read
NULL // not using overlapped IO
);
.
.
但是我需要发送一个myIDirect3DDevice9类的实例,而不是字符串,它基本上是修改了IDirect3DDevice9类。我想要序列化是必需的。什么是序列化/发送/反序列化c ++对象最简单,最简单的方法?