I&#x27;ve worked at places where we maintained a dual build, VisualC++ and Linux gcc, because we wanted to be able to develop and run in multiple environments.  That forces you to write clean standard-compliant code, although in some cases it could be a pain.