We just saw how useful it can be to have all the developer kits' rootfs on the host, but what if we can execute all the programs directly on the host? Referring to the earlier example with the Hello World program, we mean the possibility to compile it on the host and then executing it on the host too.
It is quite obvious that the advantages in this case are minimum, but consider the case where we have a complex program to compile with tons of libraries. Of course, this approach has some disadvantages. First of all, the fact that our x86 CPU has no idea about how to execute the ARM code, so we need a program that emulates the ARM CPU over the x86 one. This emulation needs a lot of CPU resources, and most probably, the execution time is slower than the original one. However, in some circumstances, it may be preferred to emulate the ARM CPU. A very powerful embedded system may have two 4 GB RAMs whereas a real powerful host PC may have 32 GB, without considering the fact that...