Можно ли скомпилировать c программу на Mac, которая компилируется на Windows?

Я написал программу AC на Windows. Он может правильно скомпилироваться в этой ОС. Он использует библиотеку windows.h . Могу ли я скомпилировать его компиляторами GCC на Mac? Или я должен изменить код? Я слышал, что с портативен; поэтому он должен работать на Mac. Да?

Всего 1 ответ


Вы должны либо изменить код, либо установить что-то в своей системе, чтобы заменить <windows.h> , потому что это не стандартный заголовок в macOS с инструментами разработчика Apple.

Предполагая, что вы не устанавливаете какую-либо замену, если она есть, вы должны удалить #include <windows.h> . Нужно ли вам менять какой-либо другой код, и насколько это зависит от того, какие средства вы использовали из <windows.h> и на него нельзя ответить, не зная больше о вашем коде.

С является портативным. Стандарт C определяет базовое подмножество языка, называемого строго соответствующим . Строго соответствующий код является переносимым для всех реализаций Си. Большинство программ на С включают код вне этого подмножества. В некоторой степени это переносимо, но для этого есть много квалификаций, много зависимостей реализации и много тонкостей. Как правило, любая сложная программа требует изменений для запуска на новой платформе, если она не была тщательно разработана для переносимости.


Есть идеи?

10000