Я работаю над кодом на C, который работает на Windows, а также на других платформах. Мне известны такие функции, как InterlockedExchangePointer для атомарного чтения / записи указателя данных, и я уверен, что есть нечто подобное для других платформ, но как я могу сделать это с помощью указателя функции в переносимом виде? Это возможно или мне нужен замок или барьер памяти или еще что-то?