ライブラリが複数のプロセスで使用されている場合、共有ライブラリ (.so) にあるグローバル変数をシングルトンとして使用することは可能ですか?
たとえば、初期値は 0 で、プロセス 1 が var をインクリメントし、次に proc2 が val をインクリメントして出力します。
これまでの私の実験では、両方のプロセスが変数のコピーを保持し、最初にインクリメントしても2番目はまだ0を読み取ることが示されました。したがって、動作はWindows DLLとは異なります...
グローバル変数が (lib で) 静的ではなく、lib ヘッダーで extern として宣言されている場合、var はすべてのプロセスで一意であるという記事をここで読みました。しかし、これまでのところ私はこれを達成できていません.varはまだプロセスごとにコピーされています.
誰かがこれについて良い説明を提供できますか? で、やり方は…