Некоторые из нас в моей компании спорят об этом.Учитывая исходный код и компилятор (скомпилированный с теми же флагами / переключателями), возможно ли, что компилятор создаст двоичные файлы, которые будут иметь различные поведения в разных ОС?
Конкретно, у нас есть проект C #, который долженработать в Windows XP и Windows 7, оба 32-разрядных.Компилятор VS 2008. Существует файл решения (* .sln), который содержит все необходимые файлы, сборки, проекты и т. Д., Которые мы используем для сборки программного обеспечения.
Возможно ли, что если код (такой жефайл решения) скомпилирован в VS 2008 (с такими же флагами / переключателями, как и тот же файл решения) в XP создаст двоичный файл, который будет иметь поведенческую разницу , чем скомпилированный двоичный файл в Windows 7?
Под поведенческой разницей я подразумеваю в данной ситуации ...
- Сборка XP будет работать так, как ожидалось в XP
- Сборка Win 7 будет работать так, как ожидается вWin 7
- Сборка XP может вызвать ошибку (может быть сбой или непредвиденное поведение) в Win 7 и наоборот
Проект слишком велик, чтобы придуматьмаленький тестовый проект.Я хочу знать, в каких случаях (если таковые имеются), когда вышеприведенное верно.