插入横切c++;通过swig%异常指令编码 我想在SWIG生成的包装代码中插入所有的实际方法调用之前插入一段代码(比如横切C++函数调用)。我在.I文件中使用了%exception指令,并最终生成了以下包装器代码 some_crosscutting_c++_function_call(); try { { SWIG_PYTHON_THREAD_BEGIN_ALLOW;// release GIL actual_c++_function_call(); SWIG_PYTHON_THREAD_END_ALLOW;// acquire GIL } } catch(some exception) { ...... }
但我想要的是插入横切c++;通过swig%异常指令编码 我想在SWIG生成的包装代码中插入所有的实际方法调用之前插入一段代码(比如横切C++函数调用)。我在.I文件中使用了%exception指令,并最终生成了以下包装器代码 some_crosscutting_c++_function_call(); try { { SWIG_PYTHON_THREAD_BEGIN_ALLOW;// release GIL actual_c++_function_call(); SWIG_PYTHON_THREAD_END_ALLOW;// acquire GIL } } catch(some exception) { ...... },python,c++,swig,Python,C++,Swig,但我想要的是 try { { SWIG_PYTHON_THREAD_BEGIN_ALLOW;//release GIL some_crosscutting_c++_function_call(); actual_c++_function_call(); SWIG_PYTHON_THREAD_END_ALLOW;//acquire GIL } } catch(some exception) { ...... } 横切函数调用不需要GIL,因此我希望在G
try {
{
SWIG_PYTHON_THREAD_BEGIN_ALLOW;//release GIL
some_crosscutting_c++_function_call();
actual_c++_function_call();
SWIG_PYTHON_THREAD_END_ALLOW;//acquire GIL
}
}
catch(some exception) {
......
}
横切函数调用不需要GIL,因此我希望在GIL释放后调用它。有没有一种方法可以在实际的_c++_函数_call()之前和SWIG_PYTHON_THREAD_BEGIN_ALLOW()之后使用钩子