我在Windows上编写了一个c程序。它可以在此OS上正确编译。它使用windows.h
库。
我可以通过Mac上的 GCC 编译器进行编译吗?还是我必须更改代码?
我听说c是可移植的;因此它应该可以在Mac上运行。是吗?
答案 0 :(得分:1)
您必须更改代码或在系统上安装某些软件,以替代<windows.h>
,因为在使用Apple开发人员工具的macOS上,它不是标准标头。
假设您没有安装某些替代产品(如果有),则必须删除#include <windows.h>
。是否必须更改任何其他代码以及更改多少代码,取决于您从<windows.h>
使用的设施,并且在不了解更多代码的情况下无法回答。
C是便携式的。 C标准定义了称为严格符合的语言的核心子集。严格一致的代码可移植到所有C实现中。大多数C程序都包含该子集之外的代码。它在某种程度上是可移植的,但是对此有很多限定条件,许多实现依赖项和许多细微之处。通常,除非对程序进行了精心设计以使其具有可移植性,否则任何复杂的程序都需要进行更改才能在新平台上运行。