Можно ли скомпилировать c программу на Ma c, которая компилируется на Windows? - PullRequest
0 голосов
/ 15 января 2020

Я написал c программу на windows. Он может правильно скомпилироваться в этой ОС. Использует библиотеку windows.h. Могу ли я скомпилировать его с помощью G CC компиляторов на Ma c? Или я должен изменить код? Я слышал, c является портативным; поэтому он должен работать на Ма c. Да?

1 Ответ

1 голос
/ 15 января 2020

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

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

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

...