我可以使用arm-linux-gnueabi-*
工具链编译使用我的android设备的文件(例如C或C++源代码)吗?arm-linux-gnueabi工具链与arm-linux-androideabi工具链。
我的问题似乎有点傻,但我会得到相同的结果与arm-linux-androideabi-*
编译工具链?
我可以使用arm-linux-gnueabi-*
工具链编译使用我的android设备的文件(例如C或C++源代码)吗?arm-linux-gnueabi工具链与arm-linux-androideabi工具链。
我的问题似乎有点傻,但我会得到相同的结果与arm-linux-androideabi-*
编译工具链?
编译可能不仅仅意味着将源代码转换为二进制文件。像GCC这样的编译器也提供了某些库,在这种情况下,用于处理硬件无法处理的内容。当编译器成为工具链时,它还提供了由编程语言标准化的运行时库,类似于目标系统中提供的库。在arm-linux-gnueabi-
的情况下,可能是libc和arm-linux-androideabi-
即bionic。
可以生产兼容的目标文件由不同的编译器使用,这就是elf是。
您可以生成静态可执行文件,它可以在尺寸强大,他们应该在任何匹配的硬件/内核工作,因为在这种情况下,工具链瞄准这一点。
但是,如果您生成动态可执行文件,那些文件只能在支持其相关性的系统上运行。因为一个简单的“hello world”应用程序不是由arm-linux-gnueabi-
构建的静态应用程序,因此它不能在Android系统上工作,因为它提供仿生功能,而不是libc。
你可以使用任何ARM的工具链为ARM架构会为你工作。(只记得32位/ 64位的差) –
非常感谢你! – bolzano