在不同的平台上,从android ndk构建的库是否不同

在不同的平台上,从android ndk构建的库是否不同,android,android-ndk,Android,Android Ndk,我想发布我的SDK。但是我不知道如果我从不同的平台(Mac或Windows使用相同的ndk版本)编译.so,我是否会遇到一些未知的问题 我认为不同平台之间是一样的,但我没有windows平台来确认。 那么,这些库是从不同的平台构建的吗?坦率地说,您不应该相信编译器在相同的输入上确定地生成相同的代码。许多人这样做,但许多人不这样做。使用优化时尤其如此。(这种情况正在改善,现在问题已被认识到)。这样做的结果是,无论您在什么基础上构建,您必须只发布您测试过的确切二进制文件 也就是说,您完全可以在多个平

我想发布我的SDK。但是我不知道如果我从不同的平台(Mac或Windows使用相同的ndk版本)编译.so,我是否会遇到一些未知的问题

我认为不同平台之间是一样的,但我没有windows平台来确认。
那么,这些库是从不同的平台构建的吗?

坦率地说,您不应该相信编译器在相同的输入上确定地生成相同的代码。许多人这样做,但许多人不这样做。使用优化时尤其如此。(这种情况正在改善,现在问题已被认识到)。这样做的结果是,无论您在什么基础上构建,您必须只发布您测试过的确切二进制文件


也就是说,您完全可以在多个平台上使用NDK进行构建。许多大型游戏工作室使用Windows和Mac进行开发,而制作构建是在Linux持续集成系统上完成的,因此在实践中一直都是这样。与ndk本身相比,使用任何额外的工具都更容易遇到麻烦。

坦率地说,您不应该相信编译器会在相同的输入上确定地生成相同的代码。许多人这样做,但许多人不这样做。使用优化时尤其如此。(这种情况正在改善,现在问题已被认识到)。这样做的结果是,无论您在什么基础上构建,您必须只发布您测试过的确切二进制文件


也就是说,您完全可以在多个平台上使用NDK进行构建。许多大型游戏工作室使用Windows和Mac进行开发,而制作构建是在Linux持续集成系统上完成的,因此在实践中一直都是这样。与ndk本身相比,任何额外的工具都更容易让您遇到麻烦。

您可以安全地混合使用Mac和Windows上构建的Android二进制文件,但请确保使用相同的ndk版本和相同的参数(最明显的是,相同的应用程序)


您可以将在Mac上构建的本机库发送给在Windows上工作的Java开发人员。他们甚至不需要NDK,也不在乎你使用的是哪个版本(只要它能工作)。

你可以安全地混合使用Mac和Windows上的Android二进制文件,但请确保使用相同的NDK版本和相同的参数(最明显的是,相同的应用程序)

您可以将在Mac上构建的本机库发送给在Windows上工作的Java开发人员。他们甚至不需要NDK,也不关心您使用的是哪个版本(只要它有效)