【发布时间】:2017-12-10 15:43:07
【问题描述】:
我需要你解释一下,如果我在 Linux 上编写 C 程序并且它可以在该 Linux 上运行,我如何知道我的 C 程序是否可以在例如 Windows 上运行,反之亦然(用 Windows 编写的程序)
另外,我必须遵循哪些标准来编写可在不同操作系统上运行的程序?如何检测库中的函数或整个库中的函数是否可以在不同的操作系统上运行?
例如,我有函数 fread、fwrite、fopen、fclosefrom 库 stdio.h - 我如何知道我是否可以在 Linux 以外的其他系统上正常使用它们?与使用文件描述符的函数相同:open、creat、close、read、write 来自库:sys/types.h、sys/stat.h、fcntl.h。
【问题讨论】:
-
困难的方法:阅读文档。更简单的方法:在 Windows 上编译和测试它。经验法则:
stdio.h的东西通常或多或少兼容。 -
大部分标准库都适用于 windows 和 linux
-
程序是指为不同平台编译的源代码,还是为单个平台编译的二进制文件?
-
如果你觉得特别淘气并且真的喜欢 linux,你可以让它尽可能地与任何其他操作系统不兼容。然后,您不仅可以忽略兼容性问题,而且还会让一大群人使用您最喜欢的操作系统来使用您的软件。赢赢! (这是个玩笑,不要真的这样做)
标签: c linux windows operating-system