如何将 rpcgen 生成的服务器和客户端放在同一个可执行文件中

问题描述 投票:0回答:1

如果我生成服务器和客户端存根,名称将相同,因此链接器由于符号名称冲突而无法创建可执行文件。我怎样才能以最简单的方式解决这个问题?

c rpc
1个回答
0
投票

事实证明错误出在我的设置中。 我对 rpcgen 使用了 -k 选项,这导致了奇怪的行为:它确实为一个函数只生成了一个函数名称:

returnType function_1();

而不是

returnType function_1(void *, CLIENT *);
returnType function_1_svc(void *, struct svc_req *);

-k 是一个未记录的参数,从 rpcgen 的源代码来看,它是 K&R 风格的代码生成(与 ANSI C 相反)。它只定义了一个函数(没有其他带有 _svc 后缀的函数),并且没有参数。

© www.soinside.com 2019 - 2024. All rights reserved.