gpt4 book ai didi

python - SWIG Python 默认参数

转载 作者:太空宇宙 更新时间:2023-11-03 11:24:34 25 4
gpt4 key购买 nike

给定以下 C 原型(prototype)函数:

void my_function(POINTER *p);

如何使用 SWIG 生成调用时的 Python 包装器:

my_function() ---> 它将调用 my_function(NULL);

my_function(None) ---> 它将调用 my_function(NULL);

my_function(my_pointer) ---> 它将调用 my_function(my_pointer);

最佳答案

您希望 SWIG 为 p 生成默认参数 NULL。这可以通过以下两种方式之一实现,请注意 None 会自 Action 为 NULL 指针传递。

1。使用“默认”类型映射 ( SWIG doc )

my_function 声明之前将以下类型映射放入接口(interface)文件中:

%typemap(default) POINTER *p {
$1 = NULL;
}

2。在函数声明中指定默认参数 ( SWIG doc )

您可以改为在接口(interface)文件中向 SWIG 显示以下函数声明:

void my_function(POINTER *p = NULL);

即使这不是有效的 C,SWIG 也会知道该怎么做。您也可以将它放在 %include 语句之后,以覆盖 C 头文件中的函数声明。

关于python - SWIG Python 默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36678717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com