in ambiente linux il compilatore per antonomasia č gcc, per il linguaggio C e g++ per il llinguaggio C++, scritti entrambi da Stallman. Puoi scaricarti anche gcc per windows, se lo desideri.
Ci sono poi diversi ambienti integrati che vanno bene per linux e per windows, uno di questi č code block.
Chiaramente per essere compilato su diversi sistemi operativi il codice sorgente deve o essere strettamente standard oppure avere al suo interno direttiva del preprocessore che modificano la compilazione a seconda del sistema operativo utilizzato.
ciao
sergio