【发布时间】:2013-02-19 21:53:00
【问题描述】:
我搜索了好和 Stack Overflow,但找不到我正在寻找的答案。有没有办法从 C++/C# 中挂钩 Python 函数的调用?捕获函数调用及其参数?
举例编辑:
def a(pOne): //做事
定义 b(): 一(“一”)
所以在调用“a”时,我希望 C++ 挂钩该函数(假设函数名已知)并在调用“a”时执行 C++ 函数/事件,并将参数传递给 C++ 函数/事件是为“pOne”传入的值。
谢谢
【问题讨论】:
-
你到底想做什么?您是否正在寻找构建具有嵌入式(和挂钩)解释器的 C++ 程序?挂钩系统上运行的每个 Python.exe 实例?还是……?
-
我在原始帖子中添加了一个示例。但是不,挂钩一个已知/特定的实例。
-
你真的需要挂钩Python代码中定义的函数
a,还是只是想要一种用C++编写函数并将其暴露给Python的方法,所以它可以被称为,比如说,foocpp.a("a")?后者真的很容易;前者要复杂得多。 -
不,我需要上钩。所以我有一个外部 C++ 应用程序,它将调用“a”。对“a”的调用是在 Python 应用程序本身内部发生的,我想你可以说只是想被动地监听它。
-
你能解释一下你真正想在这里完成什么吗?这闻起来像 XY problem,更糟糕的是,Y 是非常难的东西,需要很多你可能没有的背景知识,甚至需要学习才能开始。
标签: c# c++ python hook code-injection