[C++-sig] Re: problem using global variable, static variable
Nicodemus
nicodemus at globalite.com.br
Sat May 24 03:32:13 CEST 2003
Nicodemus wrote:
> David Abrahams wrote:
>
>> Cyril Bonnard <cyril.bonnard at cirad.fr> writes:
>>
>>
>>
>>> pyste generates code which seems very strange to me:
>>> BOOST_PYTHON_MODULE(test)
>>> {
>>> class_< color >("color", init< >())
>>> .def(init< const color & >())
>>> .def_readwrite("col", &color::col)
>>> ;
>>>
>>> def("_GLOBAL__D__home_cbonnard_devlp_AMAPmod_src_GEOM_test.hef3xme",
>>> &_GLOBAL__D__home_cbonnard_devlp_AMAPmod_src_GEOM_test.hef3xme);
>>> def("_GLOBAL__I__home_cbonnard_devlp_AMAPmod_src_GEOM_test.hp8ylhc",
>>> &_GLOBAL__I__home_cbonnard_devlp_AMAPmod_src_GEOM_test.hp8ylhc);
>>>
>>
>>
>> This appears to be a Pyste bug. It should say:
>>
>> scope().attr("BLACK") = BLACK;
>>
>>
>
> (Sorry for not responding earlier: my internet connection wasn't
> working.)
>
> The bug in this case is trying to export those two functions, which
> are clearly for internal use of the compiler(_GLOBAL___D__home_... is
> a function). I will change AllFromHeader so that it will ignore names
> that start with "_" (the same semantics of Python's "from foo import
> *" ;-) )
>
> But Pyste now doesn't support global variables. I will add it, with a
> "Var" declaration, similar to a "Class" declaration.
>
> Thanks Cyril,
> Nicodemus.
>
Implemented in the current CVS (version 0.8.0).
David, if you export a non-const global variable this way and change it
in Python, the change won't happen in C++, right? I mentioned it in the
docs.
Regards,
Nicodemus.
More information about the Cplusplus-sig
mailing list