Nie trzeba on nowa pisać na linux'ie. Tylko niektóre biblioteki jak np windows.h lub conio.h nie są dostępne na tym systemie. Są to raczej drobne zmiany nie wymagające zmiany całych bloków kodu czy też pisania od nowa, ale cała biblioteka standardowa jest dokładnie taka sama i taki kod będzie działał i na windows i na linux. Różnice są dopiero w innych bibliotekach jak np WinApi, gdzie piszesz aplikacje tylko dla windows. Ale jest też mnóstwo bibliotek multiplatformowych jak np QT, SDL, SFML.