Should static member functions be avoided in shared libraries?

c, c++, global-variables, shared-libraries, static

Solution

But what about `static` member functions? Are these equally as dangerous in a shared library?

Not at all: `static` member functions should not be avoided: unlike `static` variables that represent shared state, `static` member functions represent shared computations. As long as these computations are stateless, they are not dangerous at all.

Problem

In reading the book "Writing Scientific Software" by Oliveira and Stewart, I came across this interesting passage: "Shared variables are dangerous and should be avoided in shared libraries So if you are writing a shared or dynamically linked library, avoid `static` or `saved` local variables and avoid global variables." (page 55) But what about `static` member functions? Are these equally as dangerous in a shared library? Should I avoid these as well? Why/why not?

Original source