программы c ++ 11 работают на любом процессоре?

примечание: перед отрицательным голосованием или чем-то подобным, это общий вопрос, чтобы понять, как все идет

вопрос просто в следующем:
Предположим, я скомпилировал программу с функциями C ++ 11 (используя VS2012 для Windows). Есть ли гарантия, что эта программа будет работать на более старых процессорах? (например, Core 2 Duo; как большинство ноутбуков получили это)

В настоящее время я работаю с VS2010, но нашел библиотеки, которые нуждаются в возможностях C ++ 11.
поэтому я хочу перенести всю работу на VS2012, но мои знания ограничены тем, как это будет работать

исправить что-то не так в вопросе

редактировать:
еще 2 вопроса:

1 -Можно ли «смешать» скомпилированную программу на С ++ 11 с более старой?

как вызов функций, которые находятся внутри новой версии (.dll) из старой версии (.exe), поэтому я получил 2 файла:

1 скомпилирован с VS2010, другой 1 скомпилирован с VS2012, с DLL EXPORT они могут работать так?

2 — предложить лучшую среду, чем VS2012 для Windows

0

Решение

Поскольку архитектура, для которой строится цель, одинакова (x86 для 32 бит или amd64 для 64 бит), у вас не должно быть никаких проблем.

Конечно, вам нужно будет предоставить старому компьютеру правильную библиотеку времени выполнения для запуска вашей программы (для текущей архитектуры).

1

Другие решения

Да, компилятору требуются дополнительные библиотеки для сборки программы. Но это не должно влиять на способность работать на старых процессорах. Единственный раз, когда это меняется, это когда вы пытаетесь запустить 64-битную программу на 32-битном процессоре.

Портировать на VS2012 просто, откройте решение в VS2012 и сохраните его как решение vs2012. Все должно быть хорошо.

Изменить: шансы, если вы новичок в программировании, все ваши программы скомпилированы для 32-битных процессоров по умолчанию, если вы не пишете код, чтобы изменить это, так что не беспокойтесь. Вы можете запускать 32-битные программы на 64-битных процессорах, но не наоборот. Если вы действительно хотите увеличить его, вы можете создать программу, которая может работать на обоих процессорах;)

1

для скомпилированного исполняемого файла обычными требованиями для его запуска являются:

  • ABI
  • Платформа
  • библиотеки

и поскольку Windows является коммерческим продуктом, в зависимости от того, что вы делаете, вы можете добавить еще один фактор

  • среда

Это означает, что иногда дом программного обеспечения намеренно нарушает совместимость с другими продуктами, чтобы продавать больше вещей.

В общем, VS это не так хорошо, конечно, это не лучший компилятор, который я когда-либо использовал, и практически все, от GCC до Clang и MinGW, может легко заменить VS, но VS это официальный компилятор и среда для Windows, так что это то, что вам нужно иметь дело с большей частью времени.

Если вы выполнили перечисленные требования, вы можете пойти.

Кстати, Core 2 Duo не такой уж старый, и фактическое поколение iCore тоже не так уж и отличается.

0
По вопросам рекламы [email protected]