【发布时间】:2011-04-14 05:41:51
【问题描述】:
我正在运行 Linux Ubuntu 10.04,我有一台 Windows 7 机器和一台运行 Mac OS X 10.6.4 的 MacBook。如何编写一个简单的 C 程序(如 NOT QT!),例如:
#include <stdio.h>
int main(int argc, char **argv)
{
printf("Hello Linux and Mac and Windows!")
return 0;
}
无需在 Ubuntu、Windows 7 和 Mac OS X 上编译该程序即可在我所有的机器上运行?我可以在 Ubuntu 中创建它并交叉编译它以在多个不同的操作系统上运行吗?
更新
我并不是要生成一个二进制文件来运行所有文件。我的意思是在同一个操作系统中从同一个 C 代码生成三个二进制文件。
【问题讨论】:
-
我不这么认为。我已经拥有一台运行 OS X 的 Mac。
-
您需要在
printf()语句中包含换行符以获得可靠的输出。 -
答案的主要部分在于选择如何编写程序。了解每个平台的标准和 API。弄清楚如何调整源代码以使用通用 API。找出没有本机通用功能的情况,然后决定如何解决这个问题。我的大多数程序在 Unix、Linux、MacOS X 和 Cygwin 上都可以顺利编译,没有太多麻烦——除非他们正在做一些在其中一个平台上不可用的事情。
-
具体来说,“我可以在 Ubuntu 中创建它并交叉编译它以在多个不同的操作系统上运行吗?”您在哪里复制“如何在 Linux 或 Windows 中为 OS X 编译?”重复的问题不是坏事。
标签: c cross-platform cross-compiling