I have recently decided to upgrade to using shared libraries (home-brewed) instead of static libraries to support one of my group's projects. This way, my group can take advantage of in-place updates to the library as opposed to full recompiles of the main project (which must currently be done for the static libraries).
My library code has global variables that change as the main program interacts with the library. This works just fine when the library is static, but I am worried about transitioning to it being a shared library. If two programs use the same shared library, will they conflict with each other due to the global variables in the shared library?
Important note: The shared library is loaded when the program starts. I do NOT yet plan to have the library loaded dynamically (through dll commands). I am using gcc for compiles for an ARM-based system running Linux.