Manolo on Thu, 26 Jul 2012 17:03:26 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Global persistent variables (compiled code) |
I need to fix some global variables and so I initialize their values with init_library()-like function. So: ------- static GEN myvar1; static GEN myvar2; /*End of global vars*/ void init_mylib(void) /* void */ { static long init_done = 0; if (init_done) return; *** staff related to my global vars *** init_done = 1; } ------------ Then, I import the library on a pari session (via "install" "run"-file and so on...). If I try to run a function: ? mylib_myfunction() it returns error, because I didn't initialize the global vars. So I must run: ? init_mylib(); mylib_myfunction() And it works. That's ok up to now. But if try again ? mylib_myfunction() or even try again the same step with initialization, ? init_mylib(); mylib_myfunction() I receive an error, because global vars are not ok!!! I must leave the session an enter again to get my code working. I guess that "normal" static variables like "init_done" are kept, but pari-variables don't. How can I solve this? TIA -- Manuel Pancorbo Castro http://bitakoro.tk/