Этот вопрос предполагает, что написанный код C/С++ переносимый и не использует специфичный для платформы код.
Я начинаю изучать С++ и компилировать код. Я знаю, что C был создан, чтобы избежать ассемблерных языков, потому что программы должны быть перезаписаны для разных конфигураций оборудования. Я также знаю, что C/С++ необходимо перекомпилировать для разных конфигураций компьютера.
Это заставило меня задуматься о том, что представляет собой новая конфигурация. Я могу загрузить исполняемый файл из Интернета, который работает очень хорошо, и интернет, очевидно, не знает мою конфигурацию оборудования. Нужно ли компилировать код для каждого процессора? Содержит ли код для одной версии ОС другой? (Работает ли код Windows 7 для Windows 8 без перекомпиляции?)
В двух словах, какие условия определяют новую конфигурацию, которая должна быть скомпилирована для?