IPC having a lot of "overhead" is nonsense (other than, like, managing a mutex or semaphore). I've used many header-only IPC libraries (this one[1] worked great on Windows/MacOS). It's way easier to get a hang of instead of jerry-rigging TCP or UDP to do IPC (yuck).