1) the databases used are different. Windows development generally uses Microsoft's MFC or. NET library, while Linux uses QT library. C/C ++ common library (C library, STL Library) interfaces are the same, but internal implementation is different.
2) the compiler is different. Windows uses the Microsoft compiler VC or. NET, while Linux uses GCC.
3) the development environment is different. The Windows compiler automatically generates makefile, while the Linux compiler needs to manually write makefile, but the degree of freedom is very high.
4) Different debugging methods. Windows has rich UI debugging interfaces and methods, while Linux usually uses GDB debugging, that is, command line mode debugging. However, because GDB has the ability to debug multiple threads, it usually uses the output TRACE Method for debugging.
5) different degrees of freedom for development. Since Linux is an open-source software, developers can modify the kernel or driver as needed.
6) different file systems. Different file delimiters, different line breaks, and so on.