在C#中,有一种方法可以将结构体序列化为二进制流(MemoryStream),使得二进制表示与结构体的可视布局等效(即没有填充)吗?
在C/C++中,您可以使用#pragma命令告诉编译器将结构体紧密打包,以便字段之间没有填充。如果您有两个应用程序通过套接字来回传递消息,这很有帮助。禁用紧密打包后,您只需"发送"结构体的内容到套接字上,就不必担心将每个字段单独打包到二进制缓冲区中(如果必要还必须进行大小端交换)。
在C/C++中,您可以使用#pragma命令告诉编译器将结构体紧密打包,以便字段之间没有填充。如果您有两个应用程序通过套接字来回传递消息,这很有帮助。禁用紧密打包后,您只需"发送"结构体的内容到套接字上,就不必担心将每个字段单独打包到二进制缓冲区中(如果必要还必须进行大小端交换)。