代码直接传了内存中的整个struct、string出去了?纯外行,要打五十大板
【 在 confinement 的大作中提到: 】
:
: 说的很明白了呀,一个linux系统,一个windows一系统,你可以理解其中一个为数据产生者,产生一个叫做 Foo 的 struct, 另一个为消费者,要拿这个 struct 的数据来用,所以两个机器上的代码不同但是都有同样的 struct,这个struct 就要通过tcp/ip来传输。然后问题就来了,看主贴的链接,里面有一些数据类型它长度不一样,于是两边就不一致了,A说我已经传了一个struct过去了,B说你传的这玩意根本就不是一个struct,大小都对不上!
:
: 而且不只是自己定义的问题,即使都用一样长度的数据类型(比如 char、int),它这些struct在两边看起来,可能还是有些不一样的。还有就是用库的问题,比如库已经定义有 string 类了,然后你去 sizeof(string), 你会看到有的是28, 有的是32, 有的是40..
:
: --
发自「今日水木 on Android」
--
FROM 123.115.134.*