我可以在不安装该软件包的情况下将已编译的可执行 C 代码移动到另一台笔记本电脑吗?

我可以在不安装该软件包的情况下将已编译的可执行 C 代码移动到另一台笔记本电脑吗?

我安装了一个包调用libcurl,并将该包中的 C 代码编译成可执行文件。因此,当我运行代码时,我只需执行.thiscode

问题是,我想.thiscode在另一台笔记本电脑上运行,但那台笔记本电脑不是 Linux 并且没有libcurl安装。

我可以thiscode通过 USB 传输到另一台笔记本电脑吗?那台笔记本电脑能运行代码吗?

你认为这会有用吗?

答案1

不太可能。当您在 Linux 机器上编译 c/c++ 代码时,它(通常)会形成 ELF 二进制文件,而 Windows(和 Mac)无法使用它。但是,您可以使用 mingw-w64 从 Linux 主机交叉编译为 Windows 二进制文件,也可以对 Mac 进行交叉编译(但过程要复杂得多)。

然后你提到了 libcurl。也许你只是编译了它的源代码,或者你编写了依赖于 libcurl 的自己的程序。在前一种情况下,目标机器上是否存在 libcurl 并不重要,在后一种情况下,根据你是将 libcurl 静态还是动态链接到程序中,你可能需要目标机器上的相应库(dll 或 dynlib)。

无论如何,在截然不同的操作系统中,你不能简单地将二进制文件从一个系统复制/粘贴到另一个系统并期望它能正常工作。你必须对这个过程进行大量的深思熟虑。

相关内容