可变参数长度的Swig包装器

2024-10-06 10:22:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用swig包装下面的方法,我似乎对argc和agrv值从下面传递到rtserver.c方法的方式有一些问题服务器.py. 在

int initialize(int run, int argc,char *argv[]) {

这是rtserver的一部分。我应该处理数据。在

^{pr2}$

在服务器.py实现包装的rtserver方法的文件,我尝试从命令行获取传入的参数,然后将其发送到包装的消息。在

c = sys.argv[1:]
sock = rtserver.initialize(0,c)

从输出可以看出服务器.py运行时文件。似乎字符串数组被正确地读入服务器.py文件。当数组传递给rsterver.initialize(). 在那里,字符串数组被弄乱了,我发现没有一个参数可以被解析,而是用存储的默认值启动系统。在

python server.py -rp 41104 -ep 41000 -tp 10011
['-rp', '41104', '-ep', '41000', '-tp', '10011']

Fri May  1 22:57:11 2015: 7429 : rtserver :Started (version 1.6) listening on port 41103 for control program, and on port 1024 for clients

有更好的方法吗?或者只是一种让它发挥作用的方法?在


Tags: 文件方法字符串py服务器参数数组rp
1条回答
网友
1楼 · 发布于 2024-10-06 10:22:30

经过大量调查后发现,在initialize方法中加载argv的参数不正确。在

如果其他人遇到类似的问题,swig似乎没有正确地包装argc和argv,那么可以将typemap更改为以下内容,以便查看参数是否正确传递。希望它能帮助您找到错误的真正来源。在

^{1}$

相关问题 更多 >