Compilers Virtual Machines Machine-Code Translation
Portability      
Source code yes with exceptions yes yes
Object code no yes yes
OS only if source is available yes if using virtual machine yes
Device drivers yes with modification yes, but may require modification yes, but may require modification
Framework only if source is available yes yes
Pros C/C++ compilers are relatively standard; optimized performance machine independent; consistent debugging environment high-performance, consistent debugging environment
Cons source required; can't use CPU or platform-specific features potential performance penalty less efficient than native code; hardware-specific
Debug support excellent if source is available excellent if source is available; fair if source unavailable excellent if source is available; fair if source unavailable
Runtime overhead none depends on implementation, interpretation, cache, JIT latency cache, JIT latency
Examples C/C++ compilers Java, .NET CLR, Inferno Transmeta Cruso, Transitive Technologies Dynamite