PIKE_MODULE_INIT { INIT;
#ifdef EITHER add_constant(MK_STRING("__version"), MK_STRING_SVALUE("1.1"), 0); #else /* OR */ add_string_constant("__version", "1.1", 0); #endif }
Let me just add that the former variant gives larger source code and object code, and slower execution time, and increased dynamic memory usage. MK_STRING{,_SVALUE}, as well as the various MAKE_CONST_STRING macros, are _only_ meaningful in code run more than once.