我将Python嵌入到C++应用程序中。我计划使用PyEval_EvalCode
来执行Python代码,但是我没有提供局部变量和全局变量作为字典,而是在寻找一种让程序动态解析符号引用的方法。你知道吗
例如,假设我的Python代码由以下表达式组成:
bear + lion * bunny
我不想把bear
、lion
和bunny
以及它们的关联对象放入我传递给PyEval_EvalCode
的字典中,而是希望Python解释器回调我的程序并请求这些命名对象。你知道吗
有办法做到这一点吗?你知道吗
Tags:
可能吧。我从未尝试过,但是理论上,您可能能够实现C++中的一个小扩展类,它覆盖了^ { }或^ {CD3}}函数指针^ {CD4}}。将这个实例作为局部和/或全局变量传递到^ {CD5> },并且你的C++方法应该被要求为你解决狮子、老虎和熊。你知道吗
通过提供locals和globals字典,您提供了执行evaled代码的环境。这实际上为您提供了一个接口,将名称映射到C++应用程序中定义的对象。你知道吗
你能解释一下你为什么不想用字典吗?你知道吗
<>你可以做的是在C++中处理字符串,然后在代码之前对字符串进行替换。你知道吗相关问题 更多 >
编程相关推荐