gpt4 book ai didi

在 Windows 上创建兼容 macOS 和 Linux 的静态库

转载 作者:行者123 更新时间:2023-11-30 19:02:31 25 4
gpt4 key购买 nike

我想使用与 macOS 和 Linux 兼容的 MSVC/IXX 在 Windows 中生成静态库文件。

我使用的是C(比如说C99),功能非常简单。例如:

void AddArray(float* mA, float* mB, float* mC, int numElements){

int ii;


for(ii = 0; ii < numElements; ii++){
mC[ii] = mA[ii] + mB[ii];
}
}

有没有一种方法可以在 Windows 上仅构建一次库并在任何地方使用它?
如果不在 Windows 上,是否可以在 Linux 上完成并在 Windows 和 macOS 上运行?

这个想法是使用相同的编译器编译一次,而不是在 Linux 上使用 MinGW

最佳答案

这不可能以您想要的简单方式(每个操作系统/编译器一个库文件),因为静态库是编译的二进制代码,它不可避免地引用平台细节并且必须(通常)位于编译器中具体格式。同一操作系统上的多个编译器之间存在一定程度的兼容性,但永远不会在不同操作系统上工作。 Mac OS 曾经有胖二进制文件的概念(其中 32 位和 64 位二进制代码彼此相邻),但由于它们完全转移到 64 位,所以这不再真正相关了(尽管它们仍然存在并且仍然可以使用)。

如果您想以二进制形式分发,则需要为您想要支持的每个平台(操作系统/架构/工具链)组合提供不同的二进制文件。

关于在 Windows 上创建兼容 macOS 和 Linux 的静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55758704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com