2

SWIG 支持包含在加载模块时执行的代码,如下所示:

%init %{
    init_variables();
%}

最终确定是否也存在类似的东西?我找不到关于它的任何文档,也许还有另一种好方法可以实现相同的最终确定?

4

1 回答 1

4

您可以atexit%init. 这是一个工作示例:

%module sample

%{
#include <stdlib.h>
#include <stdio.h>

void cleanup()
{
    printf("cleanup!\n");
}
%}

%init %{
    atexit(cleanup);
%}

结果:

Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:57:17) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sample
>>> ^Z

cleanup!
于 2012-10-20T18:00:14.977 回答