C Linux: глобальная переменная, расположенная в разделяемой библиотеке как синглтон

Можно ли использовать глобальную переменную, расположенную в общей библиотеке (.so), в качестве одиночного, если библиотека используется более чем одним процессом?

Например, начальное значение равно 0, процесс 1 увеличивает значение var, а proc2 увеличивает значение val и печатает его.

Мои эксперименты до сих пор показали, что оба процесса сохраняют копии переменной, и если 1 увеличивает ее, то вторая все равно будет читать 0. Таким образом, поведение не похоже на DLL-библиотеки Windows ...

Я прочитал в одной статье здесь, что если глобальная переменнаяне статический (в библиотеке) и это 's объявлен как extern в заголовке lib, переменная уникальна для всего процесса. Но пока у меня нетя не смог этого сделать - var все еще копируется для каждого процесса.

Может кто-нибудь предложить хорошее объяснение этого? А как это сделать...

Ответы на вопрос(3)

Ваш ответ на вопрос