C is sometimes called the "universal assembly language" in light of its ability to be very efficiently implemented on a wide variety of computer architectures. In light of this characterization, some compiler writers have chosen to generate C code, rather than a particular machine language, as their output. What are the advantages to this approach to compilation? Are there any disadvantages?