是否可以在 Linux 上创建其他平台的二进制文件?假设我有一个可以使用 gcc 编译为 .o
文件的程序,但是我们可以使用它来输出可以在 Windows 上运行的 exe
吗?
最佳答案
简短版: 是的你可以。 这称为交叉编译,使用此关键字在 google 上进行的任何搜索都会给您足够的结果。
现在是现实:
在两个平台上运行即使是相对较小的 c/c++ 代码也需要相当大的努力。 API、用户界面、调用约定、对齐等方面的差异是常见的做法。
幸运的是,有很多跨平台工具可以为您提供帮助。 Google for Qt,一个跨平台的用户界面库。或者随时随地使用 Boost。
您可能需要添加许多 #ifdef __WINDOWS__
或 #ifdef __UNIX__
(这些语句可能不正确)来为每个平台指定单独的代码行。
因此,为这两个平台编写代码并不是一件容易的事,并且根据您编写的软件的复杂性,需要对一般操作系统,尤其是这两个操作系统有深入的了解。
换句话说:没有工具可以从您的 .o 中生成 .exe,就像那样。
祝你好运!
~罗布
关于linux - 是否可以在 Linux 上为其他平台创建二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1688201/