我们有一个应用程序,允许用户重写可选的python回调函数。你知道吗
示例:当接收到串行数据时,将调用可选的用户定义python函数:
def onDataReceived(bytes, timeStamp, address, peer):
return
这不是源文件,而是在应用程序中编译的。你知道吗
注意到,应用程序是C++中的实时处理引擎,所以对CPython解释器的任何调用都消耗相当多的开销。我确实可以访问预编译的函数,所以有没有方法来确定它是否像上面那样简单地为空,而不用直接手动解析文本?你知道吗
谢谢。你知道吗
Tags:
您可以检查
func.__code__.co_code
(python3;在python2上使用func_code
而不是co_code
)。这是一个包含函数字节码的字节字符串。你知道吗因此:
因此,您可以创建一个函数,将
__code__.co_code
与已知的空函数进行比较:请注意,具有docstring的函数具有稍微不同的字节码(docstring占用一个常量槽),等等。对于更复杂的,你可以检查字节码反汇编输出。你知道吗
相关问题 更多 >
编程相关推荐