[C++-sig] looking up functions
David Abrahams
dave at boostpro.com
Thu Nov 13 17:13:23 CET 2008
on Thu Nov 13 2008, Stefan Seefeld <seefeld-AT-sympatico.ca> wrote:
> Alan Baljeu wrote:
>>
>> As best I could figure, I needed to write Python code, execute a script file, get
>> that code to call a C function that I register, in order to have that function. At
>> least the tutorial implied that was the way.
>
> I'm confused. In your last mail you asked for how to get hold of a Python function so
> you could run it from within C++. Now you want to run a C function instead ?
>
> Python is an interpreted language, so you need to read (interpret) the code that you
> then want to run. I asked where the function that you want to store and run comes
> from. If it already exists in a module, you can simply import that module (using
> boost::python::import()), and extract the function from it:
>
> object module = import("your_module");
> object function = module["your_function"];
object function = module.attr("your_function");
right?
> function(); // call it
>
> If you don't want to import a module directly, but rather run a script, use exec()
> instead.
>
> I'm not sure how this could be any simpler.
:-)
--
Dave Abrahams
BoostPro Computing
http://www.boostpro.com
More information about the Cplusplus-sig
mailing list