Я написал программу AC на Windows. Он может правильно скомпилироваться в этой ОС. Он использует библиотеку windows.h
. Могу ли я скомпилировать его компиляторами GCC на Mac? Или я должен изменить код? Я слышал, что с портативен; поэтому он должен работать на Mac. Да?
Всего 1 ответ
Вы должны либо изменить код, либо установить что-то в своей системе, чтобы заменить <windows.h>
, потому что это не стандартный заголовок в macOS с инструментами разработчика Apple.
Предполагая, что вы не устанавливаете какую-либо замену, если она есть, вы должны удалить #include <windows.h>
. Нужно ли вам менять какой-либо другой код, и насколько это зависит от того, какие средства вы использовали из <windows.h>
и на него нельзя ответить, не зная больше о вашем коде.
С является портативным. Стандарт C определяет базовое подмножество языка, называемого строго соответствующим . Строго соответствующий код является переносимым для всех реализаций Си. Большинство программ на С включают код вне этого подмножества. В некоторой степени это переносимо, но для этого есть много квалификаций, много зависимостей реализации и много тонкостей. Как правило, любая сложная программа требует изменений для запуска на новой платформе, если она не была тщательно разработана для переносимости.