GQuark identifying the given (static) string. If the
string does not currently have an associated
GQuark, a new
is created, linked to the given string.
Note that this function is identical to
that if a new
GQuark is created the string itself is used rather
than a copy. This saves memory, but can only be used if the string
will continue to exist until the program terminates. It can be used
with statically allocated strings in the main program, but not with
statically allocated memory in dynamically loaded modules, if you
expect to ever unload the module again (e.g. do not use this
function in GTK+ theme engines).
This function must not be used before library constructors have finished running. In particular, this means it cannot be used to initialize global variables in C++.
The argument can be
The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string.