I've only ever built this on gcc (GCC) 6.2.1 20160830, but this does not depend on anything fancy.
make allAfter building it, execute the writer and the reader in that particular order in separate terminals.
./writer
Start up the reader./reader
Enter your message in the writer