【发布时间】:2015-08-16 19:08:25
【问题描述】:
也许这是一个愚蠢的问题,但它是从人们四处交谈中学到的其中一个,如果专业人士正确描述了这种情况,我会很高兴。
谈到标准台式计算机,我发现 Windows 程序具有尽可能高的便携性。我可以用静态库链接编译任何 32 位软件,然后将该软件放在闪存驱动器上,它可以在世界上任何 32 位或 64 位计算机上运行。我有超过 10 年的程序,它们仍然可以正常运行。
现在我也编写 linux 程序,但在编写 linux 程序时我并没有想到那个画面。我一直认为它应该在每个必须使用该程序的系统中编译。一位同事告诉我,在两台linux计算机中盲目地在两台计算机上运行相同的软件是错误的。但是...我在 Windows 上使用我的静态可执行文件执行此操作。我可以在 linux 2 中这样做吗?
总结一下我的问题:像人们在 Windows 上所做的那样,在 linux 上创建便携式软件有哪些限制?当然,假设目标计算机除了某个任意版本的 glibc 之外根本没有库。所有库应该在我脑海中的模型中都是静态的。
【问题讨论】:
-
可以在the corresponding meta discussion 上看到(并讨论)这个问题关闭和锁定的理由。
标签: c++ c linux windows portability