What is the difference between C language and C language compilation system? Are the two inclusive?

No difference, just different compilers. Because different CPU architectures have different instruction sets. Embedded basically uses a RISC structure CPU, and you need to use the CPU on the PC to compile a binary program that can run on the embedded CPU. This is called cross-compilation. Programs on PC cannot be run directly on other CPUs and need to be recompiled. Because compilers are different, the C language standard implemented is related to the compiler. Managing memory mapping, setting up interrupt systems, etc. are also available on PCs and are not exclusive to embedded systems. If you just do interface, network, and file programming in embedded systems, there is almost no difference from that on a PC, because there is an operating system covering it. If you develop a driver, you are required to have a good understanding of the structure of the CPU and board you are using, which means you can read the hardware manual. In addition, the differences between the embedded environment and PC, such as the number of CPUs and the shortage of hardware resources, need to be considered by programmers