我利用石头为方案Im发展中的客户和服务器制造障碍。 因此,这些障碍利用XDR来收集数据并通过该网发送数据。 在我执行这部法典时,有人投掷了部分过失:
char *str = "Hello!";
my_remote_call(str, strlen(str));
Instead, no problems if I modify it in this way:
char *str = "Hello!";
char *str2 = (char*) malloc(strlen(str));
memcpy(str2, str, strlen(str));
my_remote_call(str2, strlen(str2));
与亚洲开发银行合作 我发现,在我召集的Xdr_u_char()职能中产生分裂错误。 我的问题是:
在第一种情况下,Hello string由汇编者在.rodata节中分配,而在第二种情况下,一部分肥皂被用于纪念雕塑。 由于Xdr_u_char签名明确要求
char*
而不是
const char*
http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=%2Fapis%2Fxdr_u_char.htm 因此,在这种情况下,这意味着Xdr_u_char()功能改变我的数据?