Я имею в виду, если я напишу программу, которая напрямую использует только функции, специфичные для среды выполнения VC ++, и не вызывает напрямую функции Windows API, можно ли ее перекомпилировать и запустить на любой ОС, кроме Windows?
Если под «функциями, специфичными для среды выполнения VC ++», вы подразумеваете стандартные библиотечные функции, то ответ - да (но с некоторыми оговорками)
Если вы имеете в виду нестандартные функции, которые находятся во время выполнения VC, но не являются стандартными, например _snprintf()
, то ответ, как правило, отрицательный (но другие реализации могут их поддерживать, так что вы можете сойти с рук ).
Предостережения из 1-го ответа заключаются в том, что ваша программа может использовать преимущества специфического для реализации (или даже неуказанного или неопределенного) поведения, которое может заставить ее работать не на той же платформе, даже если ваша программа использует только стандартные функции библиотеки , В большинстве случаев эти проблемы не будут проблемой, но их нужно учитывать при написании кода, который вы хотите переносить.