Некоторые отличия процесса сборки программ для Windows и Linux:
- Системные вызовы и двоичные форматы. 1 Для Windows — PE, для Linux — ELF. 13
- Системные API и службы. 1 Вызов функции в Windows может иметь совершенно другой аналог в Linux или вообще не существовать. 1
- Файловая система и обработка путей. 1 В Linux — чувствительная к регистру файловая система, в Windows — нечувствительная к регистру. 1
- Совместимость промежуточного программного обеспечения и сторонних библиотек. 1 Не все библиотеки одинаково поддерживаются и ведут себя одинаково в разных ОС. 1
- Настройка производительности. 1 Один и тот же код может работать по-разному в разных операционных системах из-за различных методов оптимизации или поведения компилятора. 1
- Механизмы распространения и обновления программного обеспечения. 1 Для Windows — EXE или MSI, для Linux — пакеты, такие как DEB или RPM. 1
Однако есть и исключения: некоторые программы, разработанные в Windows, могут работать в Linux с использованием эмулятора, например WINE. 2